我是java新手,今天我开始研究数组而且我迷路了。我试图在数组中放入一些值,但我收到错误java.lang.ArrayIndexOutOfBoundsException
。
这是我到目前为止所做的。
int n=6;
int[]A= new int [1];
for(i=0;i<n;i++){
A[i]=keyboard.nextInt();
}
答案 0 :(得分:3)
java.lang.ArrayIndexOutOfBoundsException意味着您正在尝试访问不存在的数组索引。
问题是你的数组大小为一。但是,你经历了六次这个循环。您可以使n等于1,或者增加数组的大小。
答案 1 :(得分:1)
问题是你的数组的大小是一个。您可以在数组声明的括号之间设置数组的大小。
你的for循环进行了6次。您可以将数组的大小更改为6。
int n = 6;
int[]A= new int [6];
for(i=0;i<=n;i++)
{
A[i]=keyboard.nextInt();
}
答案 2 :(得分:0)
这意味着什么。您正在尝试访问已定义的数组边界之外的元素。
你的阵列 new int [1]; 只会持有一个元素。 我认为你的意思是int [n];
答案 3 :(得分:0)
您正在尝试访问您无权访问的内存。您的数组声明大小为1,并且您设置n = 6.因此,遍历数组A,您正在尝试访问尚未声明的数组的5个虚构位置。因此,数组索引超出范围。
你可能想要的是:
int n=6;
int[]A= new int [n];
for(i=0;i<n;i++)
{
A[i]=keyboard.nextInt();
}
答案 4 :(得分:0)
这里你已经声明了数组的大小为1,但是你要遍历数组6次。
在你的for循环中你应该写for (int i=0; i< A.length; i++ ){
A[i]=keyboard.nextInt();
}
所以在这种情况下,你的循环只会遍历一次。
答案 5 :(得分:0)
java.lang.ArrayIndexOutOfBoundsException表示您正在尝试访问不存在的数组索引。例如,你有一个数组
int []array=new int[3];
如果您尝试访问数组[4],它将为您提供ArrayIndexOutOfBoundsException。 最重要的是,只要您访问数组OUT OF ITS BOUND就会得到此异常。
:d
答案 6 :(得分:0)
每当您收到错误时,请务必先查看其API。例如,here是ArrayIndexOutOfBoundException的文档。
在您的代码中,您通过说new int [1]
来创建大小为1的数组,现在当您遍历数组并检查A[1]
的值时,您正在尝试访问数组的第二个元素,因为数组索引从0开始甚至不存在。因此,您正在访问的索引是超出界限。