创建一个名为a的1000个元素的int数组,并给第一个元素赋值1,第二个元素赋值为2,依此类推。为什么我得到错误“java.lang.ArrayIndexOutOfBoundsException”
int[ ] a = new int[1000];
for (int i = 0; i <= a.length; i = i + 1){
a[i] = i;
}
java.lang.ArrayIndexOutOfBoundsException
创建一个名为a的1000个元素的int数组,并给第一个元素赋值1,第二个元素赋值为2,依此类推。为什么我得到错误“java.lang.ArrayIndexOutOfBoundsException”
int[ ] a = new int[1000];
for (int i = 0; i <= a.length; i = i + 1){
a[i] = i;
}
java.lang.ArrayIndexOutOfBoundsException
如果你的编辑是什么代码实际上是它只是因为这个检查:
i <= a.length
这是不好的,因为Java数组索引从0
运行到length - 1
。这意味着如果你的数组长度是1000
,最后一个索引是999
。
所以它应该是它的方式是编辑前:
for (int i = 0; i < a.length; i = i + 1) {
我如何得到[1000]?如果代码以这种方式我
没有[1000]。这是*** 1,001-st ***元素的***指数,它不存在。任何数组中的第一个元素的索引为0. – aliteralmind
'i
你已经张贴不会导致一个ArrayIndexOutOfBoundsException的代码。 – aliteralmind
嗯,如果:“try {a [i] = i;} catch(ArrayIndexOutOfBoundsException ex1){System.out.println(”它在index:“+ i);}”? –
呃刚刚编辑。 – user3353820