我想从用户那里获取一个整数输入。我正在使用 try-catch 异常,因此如果输入不是 int
,它会要求用户进行另一个输入。我写了下面的代码:
while (flag==true) {
try {
System.out.println("Enter the encryption key!");
k = input.nextInt();
flag = false;
}
catch (InputMismatchException ex) {
System.out.println("Please enter integer value!(");
}
}
但是当异常发生时循环继续打印
"Enter the encryption key!"
"Please enter integer value!"
无限,因为扫描仪输入不会等待另一个输入。
我该如何解决这个问题?
最佳答案
你可以尝试使用
input.nextLine()
因为它会一直等到您按下回车键。但是如果我没记错的话,你需要把它解析成一个整数。
关于java - 我如何在处理异常的同时接受输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27903798/