0

我的代码如下:

} else if (words.toUpperCase().equals(words)) {
    for (int i = 0; words.length() > i; i++){
      thisLetter = words.charAt(i);
      letter = thisLetter.isLetter();
      if (!letter){
        break;
      }
    }  

letter 是布尔值,thisLetter 是 Character 类型(不是 char)。由于某种原因,我在编译时收到以下错误:

 no suitable method found for isLetter()
method java.lang.Character.isLetter(int) is not applicable
  (actual and formal argument lists differ in length)
method java.lang.Character.isLetter(char) is not applicable
  (actual and formal argument lists differ in length)
4

2 回答 2

1

而不是letter = thisLetter.isLetter();, 它返回一个原始char. 返回的值将被Character编译器自动装箱成 a

Character没有方法isLetter(),相反,您应该尝试...

letter = Character.isLetter(thisLetter);

当然,假设这thisLetter是一个char...

有关更多详细信息,请参阅Java 文档

于 2013-11-14T02:27:27.183 回答
0

承租人:

boolean containsOnly = true;
for (int i = 0; i < words.length(); i++) {
    char theChar = words.charAt(i);
    int index = "Java".indexOf(theChar);
    if (index < 0) {
       containsOnly = false;
       break;
    }
}
于 2013-11-14T02:43:56.897 回答