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

觉得给出的额参考答案有点问题啊

我怎么感觉这个题目给出的答案有点问题啊?你们有问题吗?伙计们

正在回答

3 回答

import java.util.Arrays;

public class HelloWorld {
    public static void main(String[] args) {
        HelloWorld hello = new HelloWorld();
        int[] scores = {9,-23,64,91,119,52,73};
        //接收返回的前三名成绩
        int[] top3 = hello.getSorted(scores);
        //输出前三名
        System.out.println("前三名的成绩是:\n" + Arrays.toString(top3));

    }
    public int[] getSorted(int[] scores){
        //定义数组用以存储前三名成绩
        int[] top = new int[3];
        
        System.out.println("原始成绩是:\n" + Arrays.toString(scores));
        
        //排序
        Arrays.sort(scores);
        
        System.out.println("排序后的成绩是:\n" + Arrays.toString(scores));
        //原始成绩数组编号,为保证下一个循环继续往后跳,所以这里提前定义,且为了保证从最大值读取,所以这里初始值定义为数组长度-1
        int i=scores.length -1;
        
        //j定义为为前三名数组编号
        for(int j=0;j<3;j++){
            while(i>=0){
                //如果成绩不在0-100内,跳至下一个(i--),不做赋值
                if(scores[i]<0 || scores[i]> 100){
                    i--;
                    continue;
                }
                //成绩在0-100内,赋值给top数组,并跳出循环,并保证下一个循环内成绩继续往后查询(i--)
                top[j] = scores[i];
                i--;
                break;
            }
        }
        return top;
    }
}


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

我自己想了想,分享下:

import java.util.Arrays;


public class Homework1 {

    public static void main(String[] args) {

        Homework1 hw=new Homework1();

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

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

            hw.showTop3(scores);

    }

            public void showTop3(int[] scores){

                    int count=0;

                Arrays.sort(scores);

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

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

                        continue;

                 }else{

                        count++;

                        }

                if(count>3){

                    break;

                 }

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

        }

    }

}



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

例如?

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

举报

0/150
提交
取消

觉得给出的额参考答案有点问题啊

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