我想用Scanner接收一个整型输入,并在出现输入非整型情况时抛出异常提示,同时要求用户重新输入,用了如下代码:
import java.util.Scanner;
public class HelloWorld{
public static void main(String[] args){
int i = 0;
Scanner sc = new Scanner(System.in);
System.out.println("请输入数量:");
while(true) {
try {
i = sc.nextInt();
System.out.println("i="+i);
break;
} catch(Exception e) {
System.out.println("请输入一个整型数字:");
}
}
}
}
执行如下:
请输入数量:
a
请输入一个整型数字:
请输入一个整型数字:
请输入一个整型数字:
……
在接收到一个非法输入a时,程序重复不断抛出异常提示“请输入一个整型数字:”,而不能中断接收新的输入,请问这是为什么,错在哪里?
慕娘4410084
onelamp
viva_la_vida
相关分类