Scanner scanner = new Scanner();
int number = 1;
do
{
try
{
option = scanner.nextInt();
}
catch (InputMismatchException exception)
{
System.out.println("Integers only, please.");
}
}
while (number != 0);
尽管有异常处理,但当输入非整数时,此代码将进入无限循环。而不是Scanner
在下一次迭代中暂停收集输入,它只是继续抛出InputMismatchException
直到程序被终止。
什么是扫描整数(或其他类型)输入的最佳方法,丢弃无效的输入并正常继续循环?