package com.imooc; import java.util.Arrays;//引入Arrays类 public class Grade { public static void main(String[] arags){ int[]grades={89,-23,64,91,119,52,73}; Grade grade=new Grade(); grade.compare(grades); } public void compare(int[]Arrays1){ int j=0; int[]Arrays2={0}; for(int i=0;i<Arrays1.length;i++){ while(Arrays1[i]>=1&&Arrays1[i]<=100){ Arrays2[j++]=Arrays1[i]; } } Arrays.sort(Arrays2); for(int k=0;k<3;k++){ System.out.println("考试成绩前三名为:"+Arrays2[k]); } } }
啊,还忘了一点,Arrays.sort 对数据进行的是升序排序,从小到大排列,所以你在输出成绩是要倒过来输出,从数组最后一个元素开始输出
你声明Arrays2时,使用int [] Arrays2=new int[] {0}; 这样Arrays2是个只有一个元素的数组,后面无法赋值,你应该声明为int [] Arrays2=new int[Arrays1.length] ; (JAVA对于声明的变量默认值都是0,所以不用在特意赋值为0)