import java.util.Arrays;
public class HelloWorld {
public static void main(String[] args) {
int[]scores= {89,-23,64,91,119,52,73};//定义一个数组保存成绩
System.out.print("考试成绩的前三名为:");
HelloWorld hello=new HelloWorld();//定义对象
hello.Top3(scores);//调用方法保存数组
}
public void Top3(int[]scores){
Arrays.sort(scores);
int num=0;
for(int i=scores.length-1;i>=0&&i<3;i--){
if(scores[i]<0||scores[i]>100)
continue;
num++;
System.out.print(scores[i]+" ");
}
}
}
你这个i的赋值是咋回事?数组八个数,初始的i值是7。你的条件是i<3的时候i--。所以就错了
i>=0&&i<3这不矛盾了莫,后面是num<3就对了。
i>=0&&i<3 这个的问题 i的条件判断
continue,那边是不是少了大括号;。
相当于i一直没有自减