为了增强程序的稳健性,用户在将输入限制为有效整数值和处理非数字条目方面面临挑战。流行的库 Scanner 为这些障碍提供了解决方案。
Scanner 提供了 hasNextInt() 方法,该方法验证即将到来的输入是否可以解释为一个整数。此方法保持静态,意味着它不会前进超过任何输入。
合并 hasNextInt() 可以提供一个优雅的解决方案:
Scanner sc = new Scanner(System.in); System.out.print("Enter number 1: "); while (!sc.hasNextInt()) sc.next(); // Skips non-numeric input int num1 = sc.nextInt(); int num2; System.out.print("Enter number 2: "); do { while (!sc.hasNextInt()) sc.next(); // Skips non-numeric input num2 = sc.nextInt(); } while (num2 < num1); // Enforces num2 being greater than num1
由于 hasNextXXX 方法保持静态,因此有必要调用 next() 来丢弃无效输入中的任何“垃圾”。
以上是如何使用 Java 的扫描器稳健地处理无效整数输入?的详细内容。更多信息请关注PHP中文网其他相关文章!