我正在尝试编写一个方法,要求用户输入一个正整数。如果未输入正整数,则会输出“请输入正值”的消息。这部分不是问题。问题是,当我尝试实现捕获 InputMismatchExceptions 的 try catch 语句(以防用户意外输入字符或字符串)时,循环无限运行并吐出与 InputMistmatchException 关联的错误消息。
这是我的代码:
private static int nonNegativeInt(){
boolean properValue = false;
int variable = 0;
do {
try {
while (true) {
variable = scanner.nextInt();
if (variable < 0) {
System.out.println("Please enter a positive value");
} else if (variable >= 0) {
break;
}
}
properValue = true;
} catch (InputMismatchException e){
System.out.println("That is not a valid value.");
}
} while (properValue == false);
return variable;
}
阿波罗的战车
相关分类