您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

异常后继续while循环

异常后继续while循环

http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextInt%28int%29

“如果翻译成功,则扫描程序将前进经过匹配的输入。”

啊,但是如果翻译是什么 不是 成功的?在这种情况下,扫描仪不会前进超过任何输入。错误的输入数据将保留为下一个要扫描的内容,因此循环的下一次迭代将失败,就像上一个循环一样- 循环将不断尝试读取相同的错误输入。

为了防止无限循环,您必须提前越过不良数据,以便获取扫描程序可以读取为整数的值。下面的代码段通过调用input.next()来实现:

    Scanner input = new Scanner(system.in);
    while(true){
        try {
            int choice = input.nextInt();
            System.out.println("Input was " + choice);
        } catch (InputMismatchException e){
            String bad_input = input.next();
            System.out.println("Bad input: " + bad_input);
            continue;
        }
    }
其他 2022/1/1 18:25:33 有415人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶