try/catch with InputMismatchException 循环问题
尝试使用 try/catch 块和 InputMismatchException 处理用户输入时,您可能会遇到如果输入不是整数,则无限循环。要解决此问题,请确保调用 next() 使扫描器前进到无效输入之前。
catch (Exception e) { System.out.println("Error!"); input.next(); // Advance past invalid input }
此外,建议在读取之前使用 hasNextInt() 检查有效的整数输入。
while (bError) { if (scanner.hasNextInt()) n1 = scanner.nextInt(); else { scanner.next(); // Advance past invalid input continue; } // Repeat for n2 }
这种方法确保扫描器跳过非整数输入并仅继续处理有效值,从而消除了异常的需要处理。
以上是使用Java的扫描器处理无效整数输入时如何防止无限循环?的详细内容。更多信息请关注PHP中文网其他相关文章!