死循环下的s.nextInt()的InputMismatchException错误 重复进入该错误
死循环下的s.nextInt()的InputMismatchException异常 重复进入该异常
while (true) { // 提供一个死循环给用户操作
try {
System.out.println("1、注册\t2、登陆\t3、退出本系统");
int opt = s.nextInt();
if (opt == 1) {
}
} catch (InputMismatchException e) {
System.out.println("只能输入数字");
break;
}
只要我第一次输了字符串,跳到了异常 然后按说 应该下一次判断我输入的是不是数字了 ,但实际情况是我什么都没输入,直接第二次又跳到了异常,重重复复,一直提示
------解决思路----------------------
输入数字,程序再次回到while循环内执行。当捕捉到异常,break跳出while循环。程序结束,当然没有提示的输入了。
while (true) { // 提供一个死循环给用户操作
try {
System.out.println("1、注册\t2、登陆\t3、退出本系统");
int opt = s.nextInt();
if (opt == 1) {
}
} catch (InputMismatchException e) {
System.out.println("只能输入数字");
break;
}
只要我第一次输了字符串,跳到了异常 然后按说 应该下一次判断我输入的是不是数字了 ,但实际情况是我什么都没输入,直接第二次又跳到了异常,重重复复,一直提示
------解决思路----------------------
输入数字,程序再次回到while循环内执行。当捕捉到异常,break跳出while循环。程序结束,当然没有提示的输入了。