java:尝试使用.isDigit()时找不到符号

java:尝试使用.isDigit()时找不到符号,java,methods,compiler-errors,cannot-find-symbol,Java,Methods,Compiler Errors,Cannot Find Symbol,在我的IDE和在线IDE中都尝试过,我在Zybooks.com上的教科书让我可以在其中工作。我的目标是检查变量passCode是否包含数字。代码如下: public class CheckingPasscodes{ public static void main (String [] args) { boolean hasDigit = false; String passCode = ""; int valid = 0;

在我的IDE和在线IDE中都尝试过,我在Zybooks.com上的教科书让我可以在其中工作。我的目标是检查变量
passCode
是否包含数字。代码如下:

public class CheckingPasscodes{
    public static void main (String [] args) {
        boolean hasDigit = false;
        String passCode = "";
        int valid = 0;

        passCode = "abc";

        if (passCode.isDigit(passCode.charAt(0)) || passCode.isDigit(passCode.charAt(1)) || passCode.isDigit(passCode.charAt(2))) {
            hasDigit = true;
        }

        if (hasDigit) {
            System.out.println("Has a digit.");
        }
        else {
            System.out.println("Has no digit.");
        }
    }
}
我在第9行得到错误(第一个
if
开始):

尝试将
passCode.charAt(0)
(或1和2)更改为简单的
'a'
(或'b'和'c'),以测试这是否是因为我将一个方法放入了另一个方法中,但我似乎得到了相同的错误

我最终解决了这个问题,我问了一个朋友,他给了我这个:

char s = passCode.charAt(0);
char s1 = passCode.charAt(1);
char s2 = passCode.charAt(2);

if ((s>'0' && s<'9') || (s1>'0' && s1<'9') || (s2>'0' && s2<'9')) {
    hasDigit=true;
}
chars=passCode.charAt(0);
char s1=密码。charAt(1);
字符s2=密码字符(2);

如果((s>'0'&&s'0'&&s1'0'&&s2java.lang.String)没有isDigit方法,则该方法仅适用于类

把它当作

boolean hasDigit = Character.isDigit('1');

String没有isDigit方法,该方法仅适用于类

把它当作

boolean hasDigit = Character.isDigit('1');

您正在对
字符串
对象调用
.isDigit()
,该对象没有这样的方法。它是一个


一个重要提示是,您的错误消息声明如下:

位置:java.lang.String类型的变量密码


它会自动提示您查看文档,查找您正在查找的任何方法的文档,然后发现它没有这样的方法。

您正在对一个
字符串
对象调用
.isDigit()
,该对象没有这样的方法。它是一个


一个重要提示是,您的错误消息声明如下:

位置:java.lang.String类型的变量密码


这将自动提示您查看文档,查找您正在查找的任何方法的文档,并随后发现它没有这样的方法。

@Tunaki这不是重复的。接受的答案与重复的答案不在同一范围内。您应该执行
Character.isDigit(passcode.charAt(0))
@Tunaki这不是一个副本。接受的答案与副本不在同一范围内。您应该执行
Character.isDigit(passcode.charAt(0))
Character.isDigit(passCode.charAt(0));