if……else中为什么不满足条件不执行else的代码(代码如下)?

来源:4-2 Java条件语句之 if...else

慕粉3703560

2016-07-24 23:34

if (score<60){

        for(;score<60;){

              score+=1;

             count+=1;

             }

        }else{

        System.out.println("加分后成绩:"+score + "\n" + "共加了"+count+"次");

             }


写回答 关注

6回答

  • 子非鱼安知鱼之乐0
    2016-07-25 14:52:55
    已采纳


    你的这行代码关键在于没有结束for循环语句 ;当score无论是小于60几时,它跳进if里面执行for并无限循环下去,无论当score为几时(大于小于等于)它都不会再跳出if再去执行else语句了

    你可以开个断点测试一下看我说的对不对

    所以你只要再加上一个结束for循环语句就能得到你想要的值了 exg:if(score>60) break;

    慕粉3703...

    非常感谢!

    2016-07-31 11:55:37

    共 1 条回复 >

  • 慕粉1469541688
    2016-07-29 17:31:49

    public class  Test11

    {

    public static void main(String[] args) 

    {

    int score=59;

    int count=0;

    if (score<60)

    {

            for(;score<60;)

    {

                  score+=1;

                 count+=1;

                 }

    System.out.println("加分后成绩:"+score + "\n" + "共加了"+count+"次");

            }

    else

    {

            System.out.println("加分失败");

                 }

     

    }

    }


  • 夏虫必须语冰
    2016-07-25 08:50:38

    你看看你定义的score 数值为多少  只有当score大于60才会执行else  而且score不能直接定义大于60

  • 慕粉3700896
    2016-07-25 00:19:29

    if 余件不满足的情况下,才会执行else语句。所以当超过60,就会执行else.

  • 爱峰爱生活
    2016-07-24 23:48:08

    你当前的score是多少?如果不小于60应该可以执行else语句,如果是小于60,则经过if语句,再执行完for循环后,就结束了,你如果想要有输出,要在if语句里for循环外,添加System.out.println()语句

  • 慕村1083010
    2016-07-24 23:43:27

    你的score如果是61,就执行else了,如果score小于60,它只执行if后面的条件,而且score<60这个条件只判断一次的

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

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

1165172 学习 · 17581 问题

查看课程

相似问题