我正在尝试创建一个简单的Java程序,用户应该输入他的年龄。如果用户输入了例如字母而不是数字,他将收到一条消息
我想要做的是,除了消息之外,还应该要求用户输入另一个输入,并再次检查该输入以查看它是否为数字。
谁能知道我怎么能实现这个目标呢?
System.out.println("2 - Set The Age");
Scanner b = new Scanner(System.in);
if (b.hasNextDouble()) {
double lage = b.nextDouble();
setAge(lage);
addEmployeeMenu();
} else {
System.out.println("You should type only numbers!");
}
答案 0 :(得分:3)
您可以像这样使用while循环
Scanner b = new Scanner(System.in);
double lage;
while (true) {
System.out.println("2 - Set The Age");
if(b.hasNextDouble()){
lage = b.nextDouble();
break;
}else b.nextLine();
}
关键是,获取你的号码并在while循环中检查它,只要输入不正确就重复
答案 1 :(得分:0)
您还可以使用NumberFormatException
:
while (true) {
System.out.println("Set the age: ");
String input = sc.next();
try {
int x = Integer.parseInt(input);
System.out.println("Your input '" + x + "' is a integer");
break;
} catch (NumberFormatException nFE) {
System.out.println("Not an Integer");
}
}