• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

想问一下,下面这段代码会无限循环catch中的语句。

while (1>0){
                try {
                        ID1= in.nextInt();
                        break;
                }
                catch(Exception e)
                {
                        System.out.println("您输入的不是合法的ID,请重新输入,谢谢");
                       
                }
                }
我想达到的效果就是,如果输入的不是一个int型,就捕获一个异常并提示用户重新输入,但是实际执行结果是,如果输入了一个错误的id1,就会无限循环catch中的代码,而不会允许再次输入。

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与2

这种简单的判断,其实你可以用if -else判断。捕捉异常占用内存大,用于判断int型,大材小用了。

使用道具 举报

这个问题百度到了,原因是如果不重置Scanner对象sc将会总在while死循环 try catch,原因是Scanner对象发生异常后就不能再被使用,所以一直报异常,编程了死循环.如:

使用道具 举报

发新帖

发布任务需求已有1031166位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!