A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

SD.LZ

初级黑马

  • 黑马币:29

  • 帖子:5

  • 精华:0

© SD.LZ 初级黑马   /  2017-3-27 22:20  /  1319 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

程序是练习try catch的用法,练习的是要求用户输入0,1,2这三个数字,如果不是则提示重新输入。
之前第17行没有写sc.nextline(),输入非0到2的数字会正常运行并提示重新输入;输入了非数字的字符就进入了死循环,一直弹出提示请重新输入,但是不给输入的机会。加了sc.nextline()就正常了,求解原理啊……

来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端

2 个回复

倒序浏览
因为你把scanner放在循环外面了
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
starhub 发表于 2017-3-27 23:13
因为你把scanner放在循环外面了

确实,不加sc.nextline()的话,把sc创建在while里也好了,这又是什么原理呢?
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马