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(); hello.top3(scores); } //定义方法完成成绩排序并输出前三名的功能 public void top3(int[] scores){ Arrays.sort(scores); System.out.println("考试成绩前三名为:"); int[] effScores; int count=0; for(int i=0;i<scores.length-1;i++){ if(scores[i]<0||scores[i]>100){ continue; }else{ effScores[count]=scores[i]; count++; } } if(count>=3){ for(int j=count-1;j>count-4;j--){ System.out.println(effScores[j]); } }else{ System.out.println("有效成绩不足三个!"); } } }
int[] effScores; 这里错了 不能这样定义 定义数组必须明确其长度 比如 int[] effScores=new int[3];