为了账号安全,请及时绑定邮箱和手机立即绑定

Try Catch使用

用Try catch +continue的思路怎么老是进入死循环呢?

正在回答

2 回答

很有可能是catch语句块中没有重新 new Scanner(System.in);

0 回复 有任何疑惑可以回复我~
#1

染红_街道

为啥catch要多写个 in.next(); //Scanner in = new Scanner()之前已写 不加这一句就无限循环了 我也郁闷
2016-05-29 回复 有任何疑惑可以回复我~
#2

Castle__ 回复 染红_街道

之前我也不明白,只是看到别人都这样写。 后来学了IO流明白了。 Scanner 扫描器 构造函数里面的参数(System.in)是个输入流,在循环里面,第一次输入错误的数据没有被读取,还留在管到里,循环进行下一次就直接从管到里读取那个类型错误的值,然后就又走到catch块里了,就这么死循环。 在catch块里重新实例化一个输入流之后再执行下一次循环就重写读取数据了。每次出错都能重新读取数据。 其实还可以在catch块中定义一个String 类型变量,将流中数据读出来,让流空出来,下次循环就可以重新读取数据了。 亲,问题解决了么? 给个最佳呗 o(∩_∩)o
2016-05-29 回复 有任何疑惑可以回复我~
#3

染红_街道 回复 Castle__

果然跟C++IO流一样的原理 谢谢咯 我得看看IO流文件处理什么的了
2016-05-30 回复 有任何疑惑可以回复我~
#4

Castle__ 回复 染红_街道

给个最佳呀,亲~
2016-05-31 回复 有任何疑惑可以回复我~
查看1条回复

能看看你的程序吗?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409792    人
  • 解答问题       4340    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程

Try Catch使用

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信