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

错误太多,大家不要嘲笑小白啊,我完全是照着前面学的代码照猫画虎,完全不成样子啊!!!

我不知道一个静态的数组可以只输出部分,所以我想把最先的那个静态数组的排序后符合条件的前三名的值赋值给一个新的数组,然后完全凌乱了啊!

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};

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

        int places = hello.getRank(3);

        //调用方法并将返回的数组保存在变量中

        System.out.println(Arrays.toString(places));

        

    }

    

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

    public int getRank(int length){

        //带参数的方法

        int[] places=new int[length];

        Arrays.sort(scores);

        //排个序

        for(int i=0;i<7;i++){

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

            continue;    

            }

            //遍历数组把不符合条件的忽略

            places[0]=scores[0];

            places[1]=scores[1];

            places[2]=scores[2];

            //然后把scores数组的前三名赋值给places数组的前三名

            return palces;

            //然后返回places数组

        }

        

    }


正在回答

2 回答

你的scores变量不是全局静态变量,你要当成参数传给getRank()方法,你的方法返回值也不对。

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

你返回的是数组,那么你的place也应该是数组

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

举报

0/150
提交
取消

错误太多,大家不要嘲笑小白啊,我完全是照着前面学的代码照猫画虎,完全不成样子啊!!!

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