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

为什么输出结果不同?

import java.util.Arrays; public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

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

        HelloWorld hello=new HelloWorld();

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

        hello.score(scores);

        

        

    }

    

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

    public void score(int[] scores){

        Arrays.sort(scores);

        int num=0;

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

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

                continue;

            }num++;

            if(num>=3){

                System.out.println(scores[i])

            }

             

            

        }

        

        

    }

    

    

-------------------------------------------------------------------------------------

import java.util.Arrays; public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

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

        HelloWorld hello=new HelloWorld();

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

        hello.score(scores);

        

        

    }

    

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

    public void score(int [] scores){

        Arrays.sort(scores);

        int num=0;

        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]);

             

            

        }

        

    }}

    

    

    


正在回答

1 回答

第一种方法在num>=3时才打印输出数据,这样刚好把前三名给去掉了(不打印),即打印输出前三名以后的数据,直达最后。第二种方法在num>3时用break跳出 for循环,这样只能打印出前三名

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

慕移动8447653 提问者

非常感谢!
2017-08-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么输出结果不同?

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