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

if……else中为什么不满足条件不执行else的代码(代码如下)?

if (score<60){

        for(;score<60;){

              score+=1;

             count+=1;

             }

        }else{

        System.out.println("加分后成绩:"+score + "\n" + "共加了"+count+"次");

             }


正在回答

6 回答


你的这行代码关键在于没有结束for循环语句 ;当score无论是小于60几时,它跳进if里面执行for并无限循环下去,无论当score为几时(大于小于等于)它都不会再跳出if再去执行else语句了

你可以开个断点测试一下看我说的对不对

所以你只要再加上一个结束for循环语句就能得到你想要的值了 exg:if(score>60) break;

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

慕粉3703560 提问者

非常感谢!
2016-07-31 回复 有任何疑惑可以回复我~

public class  Test11

{

public static void main(String[] args) 

{

int score=59;

int count=0;

if (score<60)

{

        for(;score<60;)

{

              score+=1;

             count+=1;

             }

System.out.println("加分后成绩:"+score + "\n" + "共加了"+count+"次");

        }

else

{

        System.out.println("加分失败");

             }

 

}

}


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

你看看你定义的score 数值为多少  只有当score大于60才会执行else  而且score不能直接定义大于60

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

if 余件不满足的情况下,才会执行else语句。所以当超过60,就会执行else.

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

你当前的score是多少?如果不小于60应该可以执行else语句,如果是小于60,则经过if语句,再执行完for循环后,就结束了,你如果想要有输出,要在if语句里for循环外,添加System.out.println()语句

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

你的score如果是61,就执行else了,如果score小于60,它只执行if后面的条件,而且score<60这个条件只判断一次的

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

举报

0/150
提交
取消

if……else中为什么不满足条件不执行else的代码(代码如下)?

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