在Java中,使用Scanner类可以实现输入验证。以下是一个简单的示例,展示了如何使用Scanner验证用户输入的整数是否为正数:
import java.util.Scanner;
import java.util.InputMismatchException;
public class InputValidation {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number;
System.out.println("请输入一个正数:");
while (true) {
try {
number = scanner.nextInt();
if (number > 0) {
System.out.println("输入的正数是:" + number);
break;
} else {
System.out.println("输入的数字不是正数,请重新输入:");
}
} catch (InputMismatchException e) {
System.out.println("输入错误,请输入一个整数:");
scanner.next(); // 清除错误的输入
}
}
scanner.close();
}
}
在这个示例中,我们使用nextInt()
方法读取用户输入的整数。如果输入的不是整数,nextInt()
方法会抛出InputMismatchException
异常。我们使用try-catch
语句捕获这个异常,并提示用户重新输入。
如果输入的整数是正数,我们跳出循环,输出结果。否则,我们继续提示用户重新输入。