您的位置:首页 > 其它

try异常处理与Scanner循环问题

2015-09-14 21:02 218 查看
今天遇到个问题,就是我把一个变量定义成int型,用Scanner在控制台输入数据时如果不小心输入的数据是string型(例如本例输入a),则程序就会报错,如图:



所以我们要将代码放到try catch块中捕获一下,修改后代码如图:



可以看到我们已经将代码用try catch包围,可是这时候又遇到了一个问题,就是当我们输入了一个字母a后,程序会无限的循环下去,不断的走的是catch里面输出的语句,这是为什么呢?其实原因很简单因为创建Scanner对象这句话在循环外面,所以当第二次循环时它不会让你再输入一个数而还是用的你第一次输进去的数,把创建Scanner对象语句(上图中的1.语句)移到while循环里面就ok了。结果如图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: