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

一个简洁有好懂的答案

import java.util.Arrays;

public class HelloWorld {

    //完成 main 方法

    public static void main(String[] args) {

        HelloWorld hello = new HelloWorld();

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

        hello.sort(scores);

    }

    

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

    public void sort(int[] scores) {

        int[] newScores = new int[scores.length];

        //先取出scores里有效的成绩,放到newScores里

        for (int i = 0; i < scores.length; i++) {

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

                newScores[i] = scores[i];

            }

        }

        //对newScores进行排序

        Arrays.sort(newScores);

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

        //倒序循环newScores,输出后三位即可

        for (int i = newScores.length-1; i < newScores.length; i--) {

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

            if (i <= newScores.length-3) {

                break;

            }

        }

    }


提问者:tiger爱小狄 2019-04-28 16:59

个回答

  • qq_慕先生4277673
    2019-05-10 12:05:54

    不错,学到了,用数组有效值给新的数组赋值

  • 0ctober
    2019-04-28 23:07:44

    import java.util.Arrays;

    public class HelloWorld {

        

        //完成 main 方法

        public static void main(String[] args) {

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

            HelloWorld hello = new HelloWorld();

            hello.showScore(scores);

        }

        

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

        

        public void showScore(int[] scores){

            //排序

            Arrays.sort(scores);

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

            int count = 3;

            //倒序循环取后三位有效数字

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

                //判断符合条件的数字

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

                    count--;

                    if(count>=0){

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

                    }else{

                        break;

                    }

                }

            }

        }

    }