请大佬看看这两种写法有啥区别,为啥第一个能输出,第二个不能

来源:5-1 编程练习

qq_慕先生9317721

2019-07-02 10:30

第一种:

public class HelloWorld {

    public static void main(String[] args) {  

      // 变量保存成绩

        int score = 53;

        // 变量保存加分次数

        int count = 0;

        //打印输出加分前成绩 

         if(score<60)

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

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

            while(score<60){

                score=score+1;

                count++;               

            }     

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

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

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

    }

}

输出结果:

加分前成绩:53

加分后成绩:60

共加了7次!




第二种:


public class HelloWorld {

    public static void main(String[] args) {  

      // 变量保存成绩

        int score = 53;

        int score1 = 0;

        // 变量保存加分次数

        int count = 0;

        //打印输出加分前成绩 

         if(score<60)

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

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

            while(score<60){

                score1=score+1;

                count++;               

            }     

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

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

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

    }

}


输出结果:

加分前成绩:53

(没了。。)

写回答 关注

1回答

  • 慕设计8423731
    2019-07-02 10:59:20
    已采纳

    因为你第二个程序陷入了死循环:

    你的score永远是小于60,一直在执行循环

    慕工程012... 回复qq_慕圣8...

    把while里面的条件while(score<60)改成(score1<60)。

    2019-10-08 13:32:19

    共 3 条回复 >

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

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

1165172 学习 · 17581 问题

查看课程

相似问题