2014-03-05 97 views
-2

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

+3

你已經張貼不會導致一個ArrayIndexOutOfBoundsException的代碼。 – aliteralmind

+0

嗯,如果:「try {a [i] = i;} catch(ArrayIndexOutOfBoundsException ex1){System.out.println(」它在index:「+ i);}」? –

+0

呃剛剛編輯。 – user3353820

回答

0

如果你的編輯是什麼代碼實際上是它只是因爲這個檢查:

i <= a.length 

這是不好的,因爲Java數組索引從0運行到length - 1。這意味着如果你的數組長度是1000,最後一個索引是999

所以它應該是它的方式是編輯前:

for (int i = 0; i < a.length; i = i + 1) { 
+0

我如何得到[1000]?如果代碼以這種方式我 user3353820

+2

沒有[1000]。這是*** 1,001-st ***元素的***指數,它不存在。任何數組中的第一個元素的索引爲0. – aliteralmind

+0