2013-08-16 580 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]); 

    } 
} 
相关问题