qq_慕工程5216916
2019-12-07 23:27
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.ranklist(scores);
//定义方法完成成绩排序并输出前三名的功能
}
public void ranklist(int[] scores){
Arrays.sort(scores);
int num=0;
for(int i=scores.length;i>=0;i--){
if(scores[i]<0||scores[i]>100){continue;
}
num++;
if(num>3){break;}
System.out.println(scores[i]);
}
}
i=scores.length这个代码会导致数组访问越界。举个案例:int[] scores=new int[2]; 由于数组起始是从0开始,到1就结束了, 现在初始化值scores[2]=1; 编译时提示数组越界。你这个代码存在的问题就是数组访问越界了
i=scores.length-1,因为数组是从scores[0]开始,i=scores.length大于了数组长度。好像还少了个}
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题