问答详情
源自:7-1 编程练习

我的代码大家参考

import java.util.Arrays;

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

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

        Arrays.sort(scores);

         HelloWorld hello=new HelloWorld();

         hello.topThree(scores);

        

        

    }

    

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

    public void topThree(int[] scores){

        int count=0;

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

            if(count==3){

                break;

            }

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

                continue;

            }else{

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

                count++;

                

            }

        }

      

    }


提问者:慕丝9052313 2018-09-21 09:46

个回答

  • 慕标92898
    2018-09-26 17:08:56

    import java.util.Arrays;


    public class HelloWorld {

        

        //完成 main 方法

        public static void main(String[] args) {


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


            int validNumber = 3; // 获取前三名


            HelloWorld hello = new HelloWorld();


            hello.getRanking(scores, validNumber);




        }


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

        public void getRanking(int[] scores, int validNumber) {

            Arrays.sort(scores);

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

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

                    continue;            

                }

                if (validNumber == 0) {

                    break;

                }

                validNumber--;

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

            }

        }    

    }

    // 因为考虑的扩展性,getRanking获取名次方法中多传了一个参数。将来随便想获取前几名都可以。