在从用户读取整数输入的程序中,利用 try/ catch 块来处理无效条目,当抛出 InputMismatchException 时(例如,当用户输入非整数字符)。
无限循环是由两个问题引起的:
要修复无限循环并确保正确处理 InputMismatchException,需要执行以下几个步骤可以采取:
以下是修改后的代码以及建议的改进:
import java.util.InputMismatchException; import java.util.Scanner; public class Except { public static void main(String[] args) { Scanner input = new Scanner(System.in); boolean bError = true; int n1 = 0, n2 = 0, nQuotient = 0; do { try { System.out.println("Enter first num: "); n1 = input.nextInt(); System.out.println("Enter second num: "); n2 = input.nextInt(); nQuotient = n1/n2; bError = false; } catch (InputMismatchException e) { System.out.println("Error!"); input.next(); // Consume the erroneous input } } while (bError); System.out.printf("%d/%d = %d",n1,n2, nQuotient); } }
以上是Java中处理InputMismatchException时如何避免无限循环?的详细内容。更多信息请关注PHP中文网其他相关文章!