为了账号安全,请及时绑定邮箱和手机立即绑定

尝试捕获时执行

尝试捕获时执行

万千封印 2021-04-08 14:11:17
我陷入了无限循环...应该要求用户再次输入。请帮忙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 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

为了退出do-while循环,您需要输入数字 5


查看完整回答
反对 回复 2021-04-21
?
杨魅力

TA贡献1811条经验 获得超6个赞

发生这种情况是因为您正在将一个NON-Number与while(num!= 5)中的一个数字进行比较。由于Exception的原因,另一个输入没有从用户那里获取,并且先前的NON-Number输入被保存到'num'变量中,因此无限次数出现Exception并执行catch(){}。


查看完整回答
反对 回复 2021-04-21
?
炎炎设计

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");               

}


查看完整回答
反对 回复 2021-04-21
  • 3 回答
  • 0 关注
  • 191 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信