2013-08-16 605 views
-3

我完全不熟悉編程,Java將成爲我的第一語言。我爲我的所有編碼也使用了eclipse。如何解決錯誤「java.lang.ArrayIndexOutOfBoundsException:5」

我一直在尋找陣列只是想了解它們。我發現這個網站:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html

我做我自己的第一個代碼示例的變化:

package testArray; 

public class TestArray 
{ 
    public static void main(String[] args) 
    { 
    // Declare a new array of integers 
    int[] anArray; 

    // Sets the array length to 5 
    anArray = new int[5]; 

    // Setting each array element 
    anArray[0] = 1; 
    anArray[1] = 2; 
    anArray[2] = 3; 
    anArray[3] = 4; 
    anArray[5] = 5; 

    // Displaying the value of each array element 
    System.out.println("Element at index 0: " + anArray[0]); 
    System.out.println("Element at index 0: " + anArray[1]); 
    System.out.println("Element at index 0: " + anArray[2]); 
    System.out.println("Element at index 0: " + anArray[3]); 
    System.out.println("Element at index 0: " + anArray[4]); 

    } 
} 

我不斷收到這個錯誤在控制檯:

異常線程「main」的java.lang .ArrayIndexOutOfBoundsException:5 at testArray.TestArray.main(TestArray.java:15)

我試過使用從他們的網站代碼以及但收到相同的錯誤。是不是在Eclipse中設置的權利?

任何幫助非常感謝!

注意:如果任何人有一些對初學程序員有用的有用網站,請繼續並將它們添加到您的文章中!

+0

數組是*零種索引*在幾乎所有的編程語言。 –

+0

@BrianRoach除了Lua,只是爲了完整。 – hexafraction

+0

@hexafraction - 還有其他一些,但這個概念不應該是外國的,並且包含在任何Java書籍或教程(包括OP鏈接到的)中。 –

回答

4

這裏的問題是:

anArray[5] = 5; 

通過更換此:

anArray[4] = 5; 

如喲定義大小爲5的陣列,所以可以只使用0-4之間索引:

anArray = new int[5]; 

如果您嘗試訪問4以上的任何索引,您將遇到ArrayIndexOutOfBoundException。

+0

哦,我甚至不知道我是如何錯過!謝謝指出! – badchiefy

+0

@badchiefy Np :-),如果我的答案幫助,然後請接受答案可以幫助其他人面對同樣的問題,你可以通過點擊我答案中留下的刻度標記來接受它 –

+0

太棒了,當然會。 – badchiefy

2
anArray[5] = 5; 

實際上訪問不存在的第6個元素,因爲數組是基於0的。 new int[5]包含5個元素,編號爲0,1,2,3和4.

所有索引應該小於數組長度。改爲使用anArray[4] = 5;

+0

謝謝你的幫助! – badchiefy

+0

@badchiefy沒問題。請勾選/選中有幫助的答案,在這種情況下可能是Juned Ahsan。 – hexafraction

0

陣列在Java中是基於0和已創建大小的數組5.

anArray [5] = 5;超出了你的數組範圍,但它看起來可能只是一個錯字。

你可能打算把

anArray [4] = 5;

+0

謝謝你的幫助! – badchiefy

0

也許你想

package testArray; 

public class TestArray 
{ 
    public static void main(String[] args) 
    { 
    // Declare a new array of integers 
    int[] anArray; 

    // Sets the array length to 5 
    anArray = new int[5]; 

    // Setting each array element 
    anArray[0] = 1; 
    anArray[1] = 2; 
    anArray[2] = 3; 
    anArray[3] = 4; 
    anArray[4] = 5; 

    // Displaying the value of each array element 
    System.out.println("Element at index 0: " + anArray[0]); 
    System.out.println("Element at index 1: " + anArray[1]); 
    System.out.println("Element at index 2: " + anArray[2]); 
    System.out.println("Element at index 3: " + anArray[3]); 
    System.out.println("Element at index 4: " + anArray[4]); 

    } 
} 
相關問題