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