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

写了个返回数组的方法实现了,调试没问题,大佬们请帮看看有没有需要改进的地方

import java.util.Arrays;

public class HelloWorld {

public int[] showTop3(int[] score) {

Arrays.sort(score);

        int i=0,j;

        int[] Top3=new int[3];

            for(j=score.length-1; j>0; j--) {

            if (score[j]>=0 && score[j]<=100){

                    Top3[i] = score[j];

                    i++;

                    if(i>=3)

                    break;

                    }

            

     }

        return Top3;

   }

public static void main(String[] args) {

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

HelloWorld test = new HelloWorld();

int[] top3 = test.showTop3(scores);

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

for(int score : top3) {

System.out.println(score);

}



}


}


正在回答

5 回答

感觉看上去有点违背习惯,建议将public static void main(String[] args) 这段放前边,后边的类在后边看上去舒服些

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

没做数据合法检测,附上

import java.util.Arrays;

public class HelloWorld {
    
    //完成 main 方法
    public static void main(String[] args) {
        
        int [] scores = {89,-23,64,91,119,52,73};
        HelloWorld test = new HelloWorld();
        test.Output(scores);
        
        
    }
    
    //定义方法完成成绩排序并输出前三名的功能
    public void Output(int [] array){
        Arrays.sort(array);
        int i = 0,j = array.length-1,num = 0;
        while (array[i] < 0)
        {
            i++;
        }
        while (array[j] > 100)
        {
            j--;
        }
        System.out.println("考试成绩的前三名为:" + "\n");
        while (j >= i && num < 3)
        {
            System.out.println(array[j] + "\n");
            j--;
            num++;
        }
    }
   

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

确定调试会没有问题吗?你定义的数组名是  scores,用的时候却变成了score.....

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

qq_慕仔212396

在方法中用的是形参名
2019-03-03 回复 有任何疑惑可以回复我~
#2

Viva啦啦啦Vida 回复 qq_慕仔212396

对耶,这样也可以~
2019-03-04 回复 有任何疑惑可以回复我~

import java.util.Arrays;

public class HelloWorld {

    //完成 main 方法

    public static void main(String[] args) {

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

    }

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

    public void shu(int[] scores) {

        Arrays.sort(scores);

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

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

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

        }

    }

}

/*你觉得这段代码如何?*/

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

没毛病  挺好的

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

举报

0/150
提交
取消

写了个返回数组的方法实现了,调试没问题,大佬们请帮看看有没有需要改进的地方

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