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

正在回答

5 回答

打印的是数组的地址,而没有指定数组元素

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

public class HelloWorld {
    public static void main(String[] args) {
        HelloWorld hello = new HelloWorld();
        int[] scores = { 89, -23, 64, 91, 119, 52, 73 };

        hello.list(scores);
    }

    public void list(int []scores) {
        Arrays.sort(scores);
        int count = 0;
        int []topThree = new int [3];
        for(int i = scores.length-1;i>=0;i--){
            if (scores[i] < 0 || scores[i] >100)
                continue;
            topThree[count] = scores[i];
            count++;
            if(count == 3)
                break;
        }
        System.out.println(Arrays.toString(topThree));

    }
}

试试这个咯

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 hello=new HelloWorld();
     System.out.println(Arrays.toString(getArray(scores)));
   }  
    //定义方法完成成绩排序并输出前三名的功能 
    public static int[] getArray(int[] array)
    {
        Arrays.sort(array);
        int count=-1;
        int[] newArray=new int[3];
        for(int i=array.length-1;i>=0;i--)
        {
            if(array[i]<0||array[i]>100)
            {
                continue;
            }
            count++;
            newArray[count]=array[i];
            if(count==2)
                {
                    break;
                }
        }
        return newArray;
    }   
}

我不知道写的好不好,以后再回来改吧

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

把 count定义到循环外,不然每次循环count都重新置0

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

你没输出前三名啊   

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

Object_66

你把你方法里的输出改成System.out.println(scores[i]); 把main方法改为System.out.println("考试成绩的前三名为:");然后下面调用你的方法接着输出就可以了
2017-03-01 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165463    人
  • 解答问题       17585    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

第一季8-1的练习题怎么做?我该怎么该?

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