问题基本上就是标题......为什么这个程序不喜欢我:3我不断收到“ArrayIndexOutofBoundsException”
public static void main(String[] args) {
double[] l1 = {1.2, 3.4, 1.2, 3.4, 1.1};
double[] l2 = {1.2, 1.3, 1.4, 1.5, 1.6};
isSorted(l1);
isSorted(l2);
}
public static void isSorted(double[] l1){
Scanner in = new Scanner(System.in);
if (l1[2]>l1[1])
if(l1[3]>l1[2])
if(l1[4]>l1[3])
if(l1[5]>l1[4])
System.out.println("True");
else
System.out.println("False");
}
是因为我预先填充了数组吗?
edit2:忽略扫描仪。
编辑3:哇。好的。索引从 0 开始,我是个白痴!
谢谢。 -_-
最佳答案
注意这一点
if(l1[5]>l1[4])
但是 l1
数组中只有 5 个值。但您访问l1[5]
l1[0],l1[1],l1[2],l1[3],l1[4]
这些都是五个值,但您访问l1[5]
,因此会引发异常。
关于java - 我总是超出这个数组的范围......为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20181142/