java数组溢出的问题
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();
System.out.println("考试成绩的前三名为");
hello.paixu(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void paixu(int[] scores){
Arrays.sort(scores);
int count = 0;
for(int i=scores.length;i>0;i-- ){
if(scores[i]<0||scores[i]>100){
continue;
}
count++;
if(count>3){
break;
}
System.out.println(scores[i]);
}
}
} 请问这样写那个for循环为什么会出现数组溢出,而要写成i=scores.length-1;i>=0;i--
举个例子,你定一个一个数组
int a = new int [3] 那么a.length =3; 元素是a[0] , a[1] , a[2] ; 并没有a【3】,正确代码如图只要减一下就好,望采纳
同学。以为数组是从0开始排序的,即scores[0]~scores[length-1]工length个元素。
求采纳