加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 什么是“异常控制”循环?

发布时间:2020-12-15 04:56:24 所属栏目:Java 来源:网络整理
导读:我正试图在我的学习指南上提出一个问题: Write an exception-controlled loop that loops until the user enters an integer between 1 and 5. 我无法破译这个问题的真正含义,因为我之前从未听过这个词,但这是我最好的猜测: Scanner input = new Scanner(S
我正试图在我的学习指南上提出一个问题:

Write an exception-controlled loop that loops until the user enters an
integer between 1 and 5.

我无法破译这个问题的真正含义,因为我之前从未听过这个词,但这是我最好的猜测:

Scanner input = new Scanner(System.in);
    int a = 0;

    while(a <= 0 || a > 5)
    {
        try {
            a = input.nextInt();

            if(a <= 0 || a > 5)
                throw new OutOfRangeException(); //my own Excpt. class
        } catch (OutOfRangeException e) {
            System.out.println(e.getMessage());
        }
    }

你们觉得怎么样?我在这里错过了什么吗?

解决方法

我认为你的catch子句应该在循环之外

Scanner input = new Scanner(System.in);
 int a = 0;
 try
 {
    while(true)
    {       
        a = input.nextInt();
        if(a <= 0 || a > 5)
            throw new OutOfRangeException(); //my own Excpt. class
    } 
 }
 catch (OutOfRangeException e) {
    System.out.println(e.getMessage());
 }

我实际上没有听过“异常控制循环”这个术语,但我认为这意味着它是一个在异常时退出的无限循环.似乎合乎逻辑.

正如评论所说,如果你需要循环直到用户输入1到5之间的数字,那么抛出的条件应该是

if(a >= 1 && a <= 5)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读