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

为什么我这个会一直循环不停

https://img1.sycdn.imooc.com//5c8100ae00014b8505260637.jpg如图所示  在myeclipse上会一直循环

正在回答

6 回答

循环是要有出口的,没有出口的循环就是死循环,你这里循环的条件是score等于0,如果score小于60,就把次数加1,但是你的count与score没有任何关系,下次循环进来还是0 且小于60,所以你最后的count++条件要改成类似score相关的,保证score有变化,且经过一定次数循环后,有可能大于60,这样循环才能停止,否则就是死循环

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


 public static void main(String[] args) {
       
        // 变量保存成绩
        int score = 53;
       
        // 变量保存加分次数
        int count = 0;


        //打印输出加分前成绩
          System.out.println("加分前成绩:"+score);
      
       
        // 只要成绩小于60,就循环执行加分操作,并统计加分次数
            if(score<60){
                for(int i=0;score<60;score++){
                    count++;
                } System.out.println("加分后成绩:"+score);
                     System.out.println("共加了"+count+"次");
                }else{
              
                System.out.println("出错啦");
               
        //打印输出加分后成绩,以及加分次数
               
                }

    }
}

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

// 变量保存成绩

        int score = 53; 

        

        // 变量保存加分次数

        int count = 0;

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

        for(int i=1;i<=60;i++){

            if(score<60){

                count++;

                score++;

            }else{

                break;

            }

        }

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

        System.out.println(count);


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

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

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

你的for循环 score的值一直等于0没变,所以一直满足循环条件就一直循环。你可以用while语句试写一下 

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

你的score 值一直没有变化,if 的条件一直是true,你的for 循环会一直执行的

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

举报

0/150
提交
取消

为什么我这个会一直循环不停

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