求教错在哪里?

来源:5-1 编程练习

Alxer115

2016-01-10 14:38

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回答

  • Its_forever
    2016-01-10 15:00:16
    已采纳
    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+ "次");


    Alxer1...

    非常感谢!

    2016-01-10 15:15:28

    共 1 条回复 >

  • 迷途的马尔斯
    2016-01-10 15:12:54

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

    Alxer1...

    谢谢!!

    2016-01-10 15:16:20

    共 1 条回复 >

  • IMOOCER_Vi
    2016-01-10 15:05:21

    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+ "次");


    Alxer1...

    谢谢,我明白了。

    2016-01-10 15:16:00

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

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

1165172 学习 · 17581 问题

查看课程

相似问题