检查字符串中的字母
我要求用户输入字符串,我想检查字母或数字,但是我是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>
我知道这很容易解决吗?
没有找到相关结果
已邀请:
8 个回复
藕挝
中,
应该为小写。 (
)。
撇开那个错误,为什么要在循环中递归调用方法“ 6”。
锹缄
拈吉勉犬姆
在最上面。
骂陋冠
娜拐赐巫潭
赣借
发生第一次编译错误是因为main方法定义为以下签名:public static void main(String [] args)(在Java 5+中也可以使用varargs)。 这意味着,由于您的静态方法正在调用isletter,因此必须将isletter声明为static-因为它不是静态的,所以它属于类的实例,而不是类本身。静态方法只能调用静态方法,除非它们正在实例上调用方法。就这样 非静态方法isletter(java.lang.String)不能b 从静态上下文引用 表示isletter应该附加一个静态修饰符: 公共静态无效isletter(String s) 下一个错误是相同的。 最后,方法isletter(String s)调用带有字符(char)的方法。您尚未定义isletter(char character)方法,也不是静态方法-因为它是通过静态方法调用的,因此也必须将其设置为静态。 我希望这能回答您有关编译错误的问题。
视蕉梁拌客
这是因为
是
类的成员方法,而不是
类的成员方法。 您必须在开始时使用
,因为您正在使用
类的成员函数。如果您使用a,b之类的对象或任何您的字符变量 它会告诉您该字符变量不能被取消引用。也许这与
是Class方法而不是object Method的事实有关。 至于静态上下文,它必须做一些事情,即您的main方法被声明为静态,而您的其他方法不是。我不能完全向你解释这个 只是一个提示。
徘廷
} isLetter()方法属于Character数组。