我正在尝试使用Scanner和无限循环从用户获取整数。我知道解决此问题的方法,但我一直在想为什么我的第一种方法不能正常工作?
Scanner myScanner = new Scanner(System.in);
int x = 0;
while(true){
try{
System.out.println("Insert a number: ");
x = myScanner.nextInt();
break;
}catch(InputMismatchException e){
System.out.println("Invalid, try again.");
continue;
}
}
它在第一次迭代时有效,但之后它只会永远在屏幕上打印“无效,请重试”。