感觉逻辑对的呀,实在找不出错误啊..........
import java.util.Arrays;
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
int[] scores = {89,-23,64,91,119,52,73};
HellWorld hello =new HelloWorld();
System.out.println("考试成绩前三名为:");
hello.rank(scores);
}
}
//定义方法完成成绩排序并输出前三名的功能
public void rank(int[] scores){
Arrays.sort(scores);
int num = 0;
while(num<3){
for(int i=scores.length-1;i>0;i--){
if(scores[i]>=0&&scores[i]<=100){
System.out.println(scores[i]);
num++;
}
}
}
}
这里应该是成绩小于0或者成绩大于100,故写法应该为:scores[i]<0 || socres[i]>100,0分与100都是正常分数,正常逻辑来讲,不应该写为小于等于或者大于等于。