Java,字符串,仅接受字母和;如果;陈述

Java,字符串,仅接受字母和;如果;陈述,java,Java,这是我在setName()方法中的代码,我只想接受字母(而不是数字) 我收到一条错误消息,上面写着“非法的括号表达式。String类型没有isDigit属性。请使用以下代码检查变量是否包含数字 if (playerName.matches(".*\\d+.*")) { System.out.println("Please enter letters only"); } Java中的String.class中没有isDigit方法,但是有很多方法可以实现 看一看:此代码适用于您: pu

这是我在setName()方法中的代码,我只想接受字母(而不是数字)


我收到一条错误消息,上面写着“非法的括号表达式。

String
类型没有
isDigit
属性。请使用以下代码检查变量是否包含数字

if (playerName.matches(".*\\d+.*")) {
    System.out.println("Please enter letters only");
} 

Java中的
String.class
中没有
isDigit
方法,但是有很多方法可以实现


看一看:

此代码适用于您:

public static void setName ( String playerName ){
    if (playerName.matches(".*\\d.*") || playerName.isEmpty()) {
        System.out.println("Please enter letters only");
    } else {
        //Your code here
    }
}

您可以使用
Lambda expression
检查输入字符串是否仅包含字符

playerName="abcd";             //Take playerName from user input or as method argument

if(playerName==null || playerName.equals("") || !playerName.chars().allMatch(Character::isLetter))
        System.out.println("Please enter letters only");

else{

    //Do your work if someone enters name containing only letters.

}

if(playerName.isDigit)
对我来说不合适吗?我很确定
String
没有一个名为
isDigit
的方法,即使它有,也需要
()
-尝试循环测试每个字符-请参阅
playerName="abcd";             //Take playerName from user input or as method argument

if(playerName==null || playerName.equals("") || !playerName.chars().allMatch(Character::isLetter))
        System.out.println("Please enter letters only");

else{

    //Do your work if someone enters name containing only letters.

}