import java.util.Arrays; public class HelloWorld { //完成 main 方法 public static void main(String[] args) { int[] scores = {89,-23,64,91,119,52,73}; System.out.println("考试成绩的前三名为:"); HelloWorld hello = new HelloWorld(); hello.big3(scores); } public void big3 (int[] scores) {Arrays.sort(scores); int num=0; for(int i=scores.length-1;i>=0&&num<=3;i++){ if (scores[i]>=0&&scores[i]<=100){ System.out.println(scores[i]); num++; }else{ continue; } } } }
import java.util.Arrays;
public class HelloWorld {
public static void main(String[] args) {
HelloWorld hello=new HelloWorld();
int[] scores={89,-23,64,91,119,52,73};
hello.scort(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void scort(int[] scores)
{
Arrays.sort(scores);
System.out.println("考试成绩前三名:");
for(int i=0;i<scores.length;i++)/*亲,你写的for(int i=scores.length-1)从数组最后一个元素开始,再执行 i++数组越界啦*/
{
if(scores[i]<0 || scores[i]>100)
continue;
System.out.println(scores[i]);
}
}
i>=0&&num<=3 有4个了
i++应该i--
i++哪里改成i--,你溢出了,还有num<=3应该是num<3