gpt4 book ai didi

java - .hasNextInt 的替代方法?

转载 作者:行者123 更新时间:2023-12-01 21:56:47 24 4
gpt4 key购买 nike

我是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");

发生了

最佳答案

这里 if(input.hasNextInt()){ 的用法是错误的。因为您想在之前输入的字符串中查找数字,即 memberName

您可以使用正则表达式来实现此目的:

Pattern digitPattern = Pattern.compile("\\d+");       

然后您可以使用它来验证任何字符串:

System.out.println(digitPattern.matcher("Marcinek 234").matches());

关于java - .hasNextInt 的替代方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34165170/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com