在java程序中,我们经常会遇到从键盘输入接收数据问题,但是有时会碰到输入数据类型与所需数据类型不一致的问题,这时就很可能导致程序报错直接退出,因此,这时用异常处理就显得格外重要,下面来介绍一个简单的输入非整数异常处理。
需求:
从键盘接收一个整数,若输入为整数,提示输入正确,结束程序,如果不是整数则重新输入,直到输入正确。
处理:
这个需求中需要用到InputMismatchException异常处理,InputMismatchException异常是输入不匹配异常,即输入的值数据类型与设置的值数据类型不能匹配。
public static void main(String[] args) {
// 定义输入正确判断,不正确则一直输入
boolean flag = true;
while (flag) {
try {
input();
System.out.println("恭喜你输入正确!");
flag = false;
} catch (InputMismatchException e) {
System.out.println("输入的数只能为整数,请重新输入!");
}
}
}
// 输入方法
public static int input() {
System.out.println("请输入一个整数:");
int num = new Scanner(System.in).nextInt();
return num;
}