import java.util.Arrays;
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
int[] scores={89,-23,64,91,119,52,73};
Arrays.sort(scores);
for(int i=scores.length;i>=0;i--) {
if(scores[i]>100||scores[i]<0){
continue;
}
for(int sum=0;sum<=3;sum++){
break;
}
System.out.println(scores[i]);
}
}
//定义方法完成成绩排序并输出前三名的功能
}
我一直认为不用Java方法能解决这道题,求大神解救迷茫的我
首先,i的值是从0到scores.length-1,for循环的初始化就错了
其次,需要在循环外定义变量控制只输出三个数
public static void main(String[] args) { int[] scores={89,-23,64,91,119,52,73}; Arrays.sort(scores); int sum=0; for(int i=scores.length-1;i>=0&&sum<3;i--) { if(scores[i]>100||scores[i]<0){ continue; } System.out.println(scores[i]); sum++; } }
修改过的main函数你参考一下
你不用Arrays.sort()方法的话可以自己写一个排序算法。冒泡就行,简单点。然后你求下数组前三个的平均值输出就行。