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

我这种写法相比答案那个更好,可以解释一下吗

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("考试成绩的前三名位:");

        HelloWord hello = new HelloWord();

        hello.sort(scores);

    }

    

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

    public void sort(int[] arr){

        Arrays.sort(arr);

        int num = 0;

        int count = 0;

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

            if(count<3){

                num = arr[i];

                System.out.println(num);

                count++;

            }

        }

    }


提问者:大尾鲈鳗 2017-03-10 11:02

个回答

  • 慕粉1143541096
    2017-03-13 19:28:07

    import java.util.Arrays;

    public class HelloWorld {

    public void sortArrays(int[] nums){

    int count=0;

    Arrays.sort(nums);

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

    if(nums[i]>100||nums[i]<0) continue;

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

    count++;

    if(count==3) break;

    }

    }

    public static void main(String[] args){

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

    HelloWorld helloworld=new  HelloWorld();

    helloworld.sortArrays(nums);

    }

    }


  • 慕前端7469816
    2017-03-10 14:36:36

    这个方法并没有判断成绩的有效性所以运行结果是119,91,81是不对的