java替代方法。哈斯内克斯汀?
我是java新手,我想知道是否有一种不同的方法可以替代has。nextInt(),因为此方法会弄乱我的扫描仪。比如说
do {
System.out.println("Please enter your full name: ");
memberName = input.nextLine();
if (input.hasNextInt()) {
System.out.println("Your name cannot contain a number");
input.next();
} else {
successful = true;
}
} while (successful == false);
控制台
Create new member
Please enter your full name:
jack
jack
我必须输入两次我的名字才能继续 我知道有这样的问题,但我没有任何解决方案的运气。谢谢
编辑
我试图确保输入中根本不包含任何数字,如果包含,那么
System.out.print("Your name cannot contain any numbers");
发生
# 1 楼答案
这里使用
if(input.hasNextInt()){
是错误的。因为您想在先前输入的字符串中查找数字,该字符串为memberName
为此,您可以使用正则表达式:
然后您可以使用它来验证任何字符串:
# 2 楼答案
您可以使用:enteredName。包含用于检查数字的(“1”)。 例如:
# 3 楼答案
您在if语句中使用输入进行检查,但为整行指定了memberName
# 4 楼答案
尝试创建自己的方法,该方法将测试传递的名称是否有效。例如,它可以如下所示:
现在,您的代码可以如下所示:
# 5 楼答案
如果您只想从用户输入中读取行,您可以使用:
或者您可以使用:
并尝试改变这一点:
为此: