Java中死循环问题,求高手指点 5

下面这段代码为什我输入的不是数字时是死循环,为什么第2次循环的时候光标不在intage=ss.nextInt();停顿,等我输入数据;应该怎样修改,while循环下还有代... 下面这段代码为什我输入的不是数字时是死循环,为什么第2次循环的时候光标不在int age=ss.nextInt();停顿,等我输入数据; 应该怎样修改,while循环下还有代码等着执行,求高手指点
while(true){
try{
System.out.println("请输入学生的年龄:");
int age=ss.nextInt();
System.out.println(age)
break;
}catch(Exception e){
System.out.println("输入有误请重新输入");
}
}
比如我输入a的话输出结果为:
输入有误请重新输入
请输入学生的年龄:
输入有误请重新输入
请输入学生的年龄:
输入有误请重新输入
请输入学生的年龄:
输入有误请重新输入
请输入学生的年龄:
输入有误请重新输入
展开
 我来答
修怀芹26
2013-09-16 · TA获得超过1208个赞
知道小有建树答主
回答量:695
采纳率:75%
帮助的人:452万
展开全部
因为你输入的不是数字,所以nextInt()始终不能把缓冲区中的字符清除就会一直报错,这种情况在catch中使用一次nextLine()就可以把缓冲区中的内容清空就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夜兔神威括号伪
2013-09-16
知道答主
回答量:15
采纳率:0%
帮助的人:9.6万
展开全部
死循环就是指程序一直在做同样的一个动作并且没有办法停止直到程序崩溃(内存溢出)为止的循环。例如for(int x=0;x>=o;x++) 这就是一个最简单的死循环 X一直处于大于等于0的状态 所以程序会一直执行下去。直到内存被用完为止
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
路亽MJ
2013-09-16
知道答主
回答量:18
采纳率:0%
帮助的人:18.7万
展开全部
当你输入不是数字的时候会出异常
如果输入数字 你在while里写了break直接就跳出循环了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xinshiye2012
2013-09-16 · TA获得超过1382个赞
知道小有建树答主
回答量:212
采纳率:0%
帮助的人:109万
展开全部
while(true)
就是循环一直为真,你没有break 都会一直循环的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
柠檬和酸菜08A
2013-09-16 · TA获得超过122个赞
知道小有建树答主
回答量:299
采纳率:50%
帮助的人:125万
展开全部
输放数据必须为数值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式