请问这个是哪里出了问题?

来源:5-1 编程练习

书生j

2019-02-12 21:55

public class HelloWorld {
    public static void main(String[] args) {
        
        // 变量保存成绩
        int score = 53; 
        System.out.println("加分前成绩:"+score);
        // 变量保存加分次数
        int count = 0;
        int n=0;
        if(score<=60){
            do{
                count++;
                n++;
            }while(count<=59);
            System.out.println("加分后成绩:"+count);
        }
        System.out.println("共加了" +n+"次!" );    }}


写回答 关注

1回答

  • 俇倴蝸牜_PHP3447160
    2019-05-08 16:12:41

    public class HelloWorld {

        public static void main(String[] args) {

            // 变量保存成绩

            int score = 53; 

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

            // 变量保存加分次数

            int count = 0;

            int n=0;

                do{

                    score++;

                    count++;

                }while(score<=59);

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

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

    第一:不需要双重判断

    第二:你代码中 声明了变量n 完全是多余的,基本没有作用,而且do{}while{} 判断是先执行 再判断,所以while中的条件count<=59之前 此循环是不会跳出来的,你定义的 int count=0;所以你定义的n 会同 count一样自加60次

    还有就是我觉得 用while(){} 会使代码简洁些,代码如下:

    public class HelloWorld {

        public static void main(String[] args) {

            int score = 53; 

            int count = 0;

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

            while(score<60){

                score++;

                count++;

            }

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

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

        }

    }


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

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

1165172 学习 · 17581 问题

查看课程

相似问题