private static int readPosInt(String message) { while (true) { System.out.print(message); try { int num = input.nextInt(); if (num > 0) { return num; } System.out.println("Positive integers only!"); } catch (InputMismatchException e) { System.out.println("You must type an integer!"); } } }
时间: 2023-07-16 10:13:05 浏览: 80
Java Enum和String及int的相互转化示例
这是一个 Java 代码段,它定义了一个名为 `readPosInt` 的静态方法,该方法以一个字符串作为输入参数,并返回一个正整数。
该方法会不断循环读取用户从键盘输入的整数,直到读取到一个正整数为止。如果用户输入的不是整数,则会提示用户重新输入;如果用户输入的是负数或零,则会提示用户输入正整数。
这个方法使用了 Java 标准库中的 `Scanner` 类来读取用户输入。在循环中,如果用户输入的不是整数,`Scanner` 会抛出 `InputMismatchException` 异常,代码会捕获这个异常并提示用户重新输入。如果用户输入的是正整数,则会立即返回该值。
阅读全文