創建一個名爲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