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

为什么我输入score<=60的话结果会变成加分八次 61分呢?求解 我知道把等号去掉就可以,但是想不明,请大家赐教

public class HelloWorld {

    public static void main(String[] args) {

   // 变量保存成绩

        int score = 53; 

 // 变量保存加分次数

        int count = 0;

System.out.println("加分前成绩:" +score);

while(score >= 0 && score <= 60){

    score ++;

    count ++;

}

  //打印输出加分前成绩 

        System.out.println("加分后成绩:"+ score);

        System.out.println("共加了"+ count + "次!");

        // 只要成绩小于60,就循环执行加分操作,并统计加分次数

     //打印输出加分后成绩,以及加分次数

     

    }

}


正在回答

2 回答

当score变成60时不会退出循环,再进行一次自增运算,变成61

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

嘘0321 提问者

非常感谢!
2015-07-01 回复 有任何疑惑可以回复我~
#2

嘘0321 提问者

那为什么题目要我们指定要大于等于60...
2015-07-01 回复 有任何疑惑可以回复我~

score等于60时,也会执行count++,score++,所以当然是加到61啦,把count++改成++count试试

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

一只特立独行的猪468502

在这里,score++和++score的运算效果相同
2015-07-01 回复 有任何疑惑可以回复我~
#2

smilelove 回复 一只特立独行的猪468502

嗯嗯,好像是滴,反正都是会执行,++在前在后都一样啦,哈哈
2015-07-01 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我输入score<=60的话结果会变成加分八次 61分呢?求解 我知道把等号去掉就可以,但是想不明,请大家赐教

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