java循环问题。

[复制链接]
查看11 | 回复3 | 2013-10-18 18:23:22 | 显示全部楼层 |阅读模式
你的外层循环相当于是while(true),你输入非法字符只是没有执行内层循环而已,外层循环没有被终止。
有两种方法终止,一种是加break,另外一种是改变标记的值,可以将最后的else改为:
else{
System.out.println("你输入的数字不合法!");
isRight = false;
}或者
else{
System.out.println("你输入的数字不合法!");
break;
}按照你代码来看,选第一种方式比较好。出现死循环,主要原因是在于你的循环控制问题。如果你...
回复

使用道具 举报

千问 | 2013-10-18 18:23:22 | 显示全部楼层
倒数第3个花括号是你的while循环的结束点,你对输入非法的判定被包含在while循环里,而且在判定输入非法后你也没有修改isRight的值,所以始终无法结束循环在 System.out.println("你输入的数字不合法!"); 后面加一个 isRight = false 就好了提几点建议~代码工整是件很重要的事,例如你上面的代码...
回复

使用道具 举报

千问 | 2013-10-18 18:23:22 | 显示全部楼层
如果楼主想让输入非法字符就退出循环的话,就在else里面加return 或者break;...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行