请问这里的console.next()的具体作用

do {
            //try catch用来捕捉用户输入的错误的id。并且向用户抛出一个异常“请输入正确的整数型的id”
            try {
                System.out.println("请输入您的id:");
                id = console.nextInt();
                //布尔型的ready用来控制循环的条件
                ready = true;
            } catch (Exception e) {
                System.out.println("请输入正确的整数型的id");
                //当用户输入错误的id时就会在抛出异常的同时让布尔型的ready为flase。从而让循环条件满足。
                ready = false;
                //《?》这里的console.next();作用只是为了让循环停止吗
                console.next();
            }
        } while (ready == false);

Meng7y
浏览 2368回答 3
3回答

袁灏关

从代码看,当你输入的值是非int类型的话,就会报错,通过trycatch方法提醒用户修改,如果没有console.next()的话,后面运行的时候会获取你前面输入的错误的数据,所以这个console.next()的作用是把错误的数据放到异常的next里面。新人小白的个人看法,欢迎大佬指教

金子砸死我吧

这段代码意思是,让你输入非int类型值,那么就会报错,报错了,就把ready 改为false,然后就可以结束循环,如果你一直输入数值,那么就不会报错,不报错,ready一直是true,就会一直循环下去,明白了吗
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
JavaScript