2013-03-22 41 views
0

我有一個字符串「BC + D * E-」。我想檢查字符串的每個字符是否是字母表。我嘗試使用isLetter(),但它確實考慮甚至=,*和 - 作爲字母。可以請幫助我在此。提前感謝檢查字符串中的字母在java中

+1

而你已經嘗試......什麼? (張貼片段) – Wug 2013-03-22 03:36:07

+0

您可以提供您自己的新版本。寫一個方法,從那裏調用isLetter。如果它返回true,則退出該方法。如果不是,請檢查它是否是'=','*'或'-'並返回true。如果不是,則返回false。最後三個不是順便說一下:-)。 – 2013-03-22 03:37:33

+0

我假設你的意思是英文字母?你想用'='和'+'做什麼? – 2013-03-22 03:37:43

回答

12

嘗試

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"); 
     } 
    } 
0

將字符串分解成數組並重復它。

String word = "BC+D*E-" 
for (char c : word.toCharArray()) { 
    if(!(Character.isLetter(c)) { 
     System.out.println("Not a character!"); 
     break; 
    } 
} 
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/

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) 
           System.out.println(chararray[i]+ " is an alphabate"); 
          else 
           System.out.println(chararray[i]+ " is not an alphabate"); 
     } 
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"); 
} 

您可以使用此代碼。這對你也有幫助。

相關問題