我陷入了无限循环...应该要求用户再次输入。请帮忙public class Example { public static void main(String[] args) { Scanner input = new Scanner(System.in); int num = 0; do { try { System.out.print("Enter number : "); num = input.nextInt(); } catch (Exception e) { System.out.println("Enter number only !!!"); } } while (num != 5); }}
3 回答
![?](http://img1.sycdn.imooc.com/533e4d510001c2ad02000200-100-100.jpg)
杨魅力
TA贡献1811条经验 获得超6个赞
发生这种情况是因为您正在将一个NON-Number与while(num!= 5)中的一个数字进行比较。由于Exception的原因,另一个输入没有从用户那里获取,并且先前的NON-Number输入被保存到'num'变量中,因此无限次数出现Exception并执行catch(){}。
![?](http://img1.sycdn.imooc.com/54586431000103bb02200220-100-100.jpg)
炎炎设计
TA贡献1808条经验 获得超4个赞
我没明白你要做什么。你做的事情应该是什么意思?无论如何,如果要检查用户输入的数字是否为NUMERIC而不是非数字,则应该执行
System.out.print("Enter Number ");
Scanner input = new Scanner(System. in);
try {
String str = input.next();
int x= Integer.parseInt(str);
}
catch(Exception e) {
System.out.print("Type a Number, Not String");
}
添加回答
举报
0/150
提交
取消