我希望代码能够停止并再次等待输入,但它会像每次用户只需按Enter键一样运行,从而创建一个无限循环。
while(asking) {
try {
int answer = input.nextInt();
}
catch(Exception InputMismatchException) {
System.out.println("Please only enter numbers.");
}
}
为什么会这样做?
编辑:我并不担心退出 while循环。问题是它不会等待输入。
EDIT2:如果没有触发异常,它会按预期运行。 (I.E用户输入了整数限制内的数字)
答案 0 :(得分:0)
您没有更改asking
循环内while
的值,因此它将是一个无限循环。
答案 1 :(得分:0)
试试这个。 nextInt没有阻止。 nextLine确实。
while(asking) {
int answer;
try {
answer = Integer.parseInt(input.nextLine());
}
catch(Exception NumberFormatException) {
System.out.println("Please only enter numbers.");
}
}
答案 2 :(得分:0)
我认为这会奏效:
while(asking) {
try {
int answer = input.nextInt();
}
catch(Exception InputMismatchException) {
System.out.println("Please only enter numbers.");
input.next();
}
}