我正在要求用户输入字符串,我想检查字母或数字,但是我是Java新手。这就是我到目前为止

Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();

isletter(s);  // a call to the function


 // function
public void isletter(String s)
{

for (int i = 0; i < s.length(); i++)
    if (isLetter(s.charAt(i) ) ) {

  System.out.println("is alpha = " + s);
}

else{


}


}


这是我尝试通过Dos进行编译时遇到的错误

c:\programming>javac LexemesTokenizer4.java
LexemesTokenizer4.java:62: non-static method isletter(java.lang.String) cannot b
e referenced from a static context
isletter(s);
^
LexemesTokenizer4.java:71: non-static method isletter(java.lang.String) cannot b
e referenced from a static context
isletter(s);
^
LexemesTokenizer4.java:85: cannot find symbol
symbol  : method isLetter(char)
location: class LexemesTokenizer4
        if (isLetter(s.charAt(i) ) ) {
            ^
3 errors

c:\programming>


我知道这很容易解决吗?

最佳答案

isLetter中,L应该为小写。 (l)。

if (isLetter(s.charAt(i) ) )
   // ^ lowercase


撇开那个错误,为什么要在循环中递归调用方法isletter

09-28 08:41