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

如果num=1 , if里的num>=3,为什么只输出一个91?

import java.util.Arrays;

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

        

      int []scores={89,-23,64,91,119,52,73};

       System.out.println("考试成绩的前三名为:");

       HelloWorld hello=new HelloWorld();

        hello.showTop3(scores);

        

    }

    

    //定义方法完成成绩排序并输出前三名的功能

    

    public void showTop3(int[] scores){

        Arrays.sort(scores);

        int num=1;

        for(int i=scores.length-1;i>=0;i--){

            if(scores[i]<0||scores[i]>100){

                continue;

            }

            num++;

            if(num>=3){

                break;

            }

            System.out.println(scores[i]);

        }

    }

    


正在回答

3 回答

把num初始值改成0,break条件改成num>3就没问题了

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

你的num设置为1,那么刚运行i=7时,你的num就+1变成了2,接下来你输出了91这个数;运行i=6时,你的num+1变成了3,已经满足了if的条件,然后便执行break跳出循环了。所以num初始值为0,且if条件里面num>3,而不能大于等于。

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

break 跳出循环了,所以只执行了一次


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

举报

0/150
提交
取消

如果num=1 , if里的num>=3,为什么只输出一个91?

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