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

正在回答

2 回答

1、第10行,System.out.println(lalala.top3(3));

    println方法传入的参数是字符串,你这里传入的是数组,你可以用Arrays.toString方法转换 System.out.println(Arrays.toString(lalala.top3(3)));。你传入数组倒也不会报错,但结果是乱码,我猜可以是这个数组在内存的位置。

2、第28行,int j=0;

    你是想用j来记录输出了多少个,但是j不能放在循环里面,否则每次循环j都重新被赋值为0了。所以这里移到循环处面

3、第29行,int scores;

    这里scores是数组,应该这样定义,int[] scores = new int[stunums];而且跟前面一样,放在循环外面。

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

import java.util.Arrays;

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

        

        

        HelloWorld lalala=new HelloWorld();

        

        System.out.println(Arrays.toString(lalala.top3(3)));

    }    

    

    

    public int[] top3(int stunums) {

        

    

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

            

        Arrays.sort(scoress);

        

        

        int[] scores = new int[stunums];

            int j=0;

            

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

            

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

                

                continue;    

                

            }    

            scores[j]=scoress[i];

            j++;

            if(j==scores.length) break;

            

        }

        return scores;

    }

    

        

    }


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

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信