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

求教错在哪里?

public class HelloWorld {

    public static void main(String[] args) {

        int score = 53; 

        int i = 1;

        int count = 0;

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


     

        while(score <= 60){

        count += score;

            i = i++;

        } 

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

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

    }

}


正在回答

3 回答

public class HelloWorld {
    public static void main(String[] args) {
        int score = 53; 
        int i = 0;
        System.out.println("加分前成绩:" + score);
        while(score < 60){
	    score++;
            i++;
        } 
        System.out.println("加分后成绩:" + score);
        System.out.println("共加了" +i+ "次");
    }
}

改成这样。

你的代码

while(score <= 60) {  //score小于等于60的时候进入循环体。
       count += score; // 这句话等效于 count = score+score. count一直加score,而score一直都是53,所以是个死循环。
      i = i++;   //执行这句话i的值一直为1.
    } 
          System.out.println("加分后成绩:" + count); //由于上面是死循环,这里两句话执行不到。
        System.out.println("共加了" +i+ "次");


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

Alxer115 提问者

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

你while循环里面的score的值没有改变,所以score一直小于60,死循环了

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

Alxer115 提问者

谢谢!!
2016-01-10 回复 有任何疑惑可以回复我~

count+=score,不就变成了count=count+score,第一次count=0+53,i=2第二次就是count=53+53,1=3,然后跳出循环吗。如果你这代码意思是要一次加1分加到60分,然后计算加了多少次,应该是这样的吧

while(score < 60){
        score += 1;
            count++;
        } 
        System.out.println("加分后成绩:" + score);
        System.out.println("共加了" +count+ "次");


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

Alxer115 提问者

谢谢,我明白了。
2016-01-10 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165463    人
  • 解答问题       17585    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

求教错在哪里?

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