JAVA input的无限循环问题,请大家帮忙看看,谢谢了! 5

以下程序中,但发生异常时就会产生无限循环,用F6查看了一下,发现input中有一个我刚刚输入的非数字字符,请问下:1、如何处理这种异常?(是否可以在catch中将inpu... 以下程序中,但发生异常时就会产生无限循环,用F6查看了一下,发现input中有一个我刚刚输入的非数字字符,请问下:
1、如何处理这种异常?(是否可以在catch中将input清空?)
2、我这种捕获异常的方式正确吗?
分数不多,只有5分了,请大家笑纳!
谢谢大家的意见,刚刚通过尝试已经知道问题了,这个是由于input的字符串缓存导致的,过程是这样的:
1、在codeID处导入了input输入的字符串
2、输入字符“R”后产生异常
3、异常处理后从新进入while循环
4、input中字符串缓存仍然为“R”(系统不会自动执行input.nextLine()方法),所以继续产生异常
所以解决方法为:在catch中加入input.nextLine();将input字符串缓存放到下一行,然后就可以不一开始就产生异常,并可以重新输入字符了,请后来者悉知!
展开
 我来答
糗大了o
2013-03-29 · 超过12用户采纳过TA的回答
知道答主
回答量:264
采纳率:0%
帮助的人:35.8万
展开全部
你 while 里的条件 一直为true 由于你输入了一个非数字 没进到 switch里面去 所以循环不会跳出
你可以吧先定义一个 布尔类型 的变量 在catch里把值变成false ,default后面还差个break 改完后应该就不会出现死循环了。
愿大阿2Y
2013-03-29 · TA获得超过141个赞
知道答主
回答量:125
采纳率:0%
帮助的人:36.1万
展开全部
蛋用。你外层while(true)会一直循环。你又没设置跳出循环的东西。。。在catch中加上。break。跳出循环。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱在夏天fly
2013-03-29
知道答主
回答量:29
采纳率:0%
帮助的人:8.9万
展开全部
在delfault里面加个continue试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gwj879
2013-03-29 · TA获得超过540个赞
知道小有建树答主
回答量:182
采纳率:100%
帮助的人:113万
展开全部
建议贴出来代码,而不是贴图,我还要一个个敲么。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式