我有一个字符串“BC+D*E-”。我想检查字符串的每个字符是否是字母表。我尝试使用 isLetter() 但它确实将 = 、 * 和 - 视为字母表。您能帮帮我吗?提前致谢
问问题
41904 次
6 回答
14
尝试
String s = "BC+D*E-=";
for (int i = 0; i < s.length(); i++) {
char charAt2 = s.charAt(i);
if (Character.isLetter(charAt2)) {
System.out.println(charAt2 + "is a alphabet");
}
}
于 2013-03-22T03:40:05.007 回答
1
于 2013-03-22T03:41:15.343 回答
1
这个片段可以帮助你。
String startingfrom = "BC+D*E-".toUpperCase();
char chararray[] = startingfrom.toCharArray();
for(int i = 0; i < chararray.length; i++) {
int value = (int)chararray[i];
if((value >= 65 && value <= 90) || (value >= 97 && value <= 122))
System.out.println(chararray[i]+ " is an alphabate");
else
System.out.println(chararray[i]+ " is not an alphabate");
}
于 2013-03-22T03:42:51.843 回答
0
将字符串分解为一个数组并对其进行迭代。
String word = "BC+D*E-"
for (char c : word.toCharArray()) {
if(!(Character.isLetter(c)) {
System.out.println("Not a character!");
break;
}
}
于 2013-03-22T03:39:37.883 回答
0
您可以使用英文字母的 ASCII 值。例如
for (char c : "BC+D*E-".toCharArray())
{
int value = (int) c;
if ((value >= 65 && value <= 90) || (value >= 97 && value <= 122))
{
System.out.println("letter");
}
}
你可以在这里找到 ASCII 表:http ://www.asciitable.com/
于 2013-03-22T03:42:00.487 回答
0
String stringEx = "BC+D*E-";
for (char string : stringEx.toCharArray()) {
if ( ( (char)string > 64 ) && ((char)string < 91) )
System.out.println("It is character");
if ( ( (char)string > 96 ) && ((char)string < 123) )
System.out.println("It is character");
}
您可以使用此代码。这也可能对您有所帮助。
于 2013-03-22T05:09:04.670 回答