java.lang.ArrayIndexOutOfBoundsException是什么意思?
我是java新手,今天我开始研究数组,我迷路了。我试图在数组中放入一些值,但得到了错误java.lang.ArrayIndexOutOfBoundsException是什么意思?,java,arrays,Java,Arrays,我是java新手,今天我开始研究数组,我迷路了。我试图在数组中放入一些值,但得到了错误java.lang.ArrayIndexOutOfBoundsException 以下是我迄今为止所做的工作 int n=6; int[]A= new int [1]; for(i=0;i<n;i++){ A[i]=keyboard.nextInt(); } int n=6; int[]A=新的int[1]; 对于(i=0;i,它
java.lang.ArrayIndexOutOfBoundsException
以下是我迄今为止所做的工作
int n=6;
int[]A= new int [1];
for(i=0;i<n;i++){
A[i]=keyboard.nextInt();
}
int n=6;
int[]A=新的int[1];
对于(i=0;i,它的意思是它所说的。您正在尝试访问已定义数组边界之外的元素
你的阵列
新int[1];
将只包含一个元素。
我想你的意思是int[n];它的意思与它所说的差不多。你试图访问一个超出你定义的数组边界的元素
你的阵列
新int[1];
将只包含一个元素。
我想你的意思是int[n];你试图访问你无权访问的内存。你的数组被声明为大小为1,你设置了n=6。因此,穿过数组a,你试图访问数组中5个未声明的虚拟位置。因此,数组索引超出了范围
您可能想要的是:
int n=6;
int[]A= new int [n];
for(i=0;i<n;i++)
{
A[i]=keyboard.nextInt();
}
int n=6;
int[]A=新的int[n];
对于(i=0;i您试图访问您无权访问的内存。您的数组声明为大小为1,设置为n=6。因此,遍历数组a,您试图访问尚未声明的数组的5个虚拟位置。因此,数组索引超出范围
您可能想要的是:
int n=6;
int[]A= new int [n];
for(i=0;i<n;i++)
{
A[i]=keyboard.nextInt();
}
int n=6;
int[]A=新的int[n];
对于(i=0;i而言,问题在于数组的大小为1。您可以在数组声明的括号之间设置数组的大小
for循环执行6次。可以将数组大小更改为6
int n=6
int[]A= new int [6];
for(i=0;i<=n;i++)
{
A[i]=keyboard.nextInt();
}
int[]A=新的int[6];
对于(i=0;i而言,问题在于数组的大小为1。您可以在数组声明的括号之间设置数组的大小
for循环执行6次。可以将数组大小更改为6
int n=6
int[]A= new int [6];
for(i=0;i<=n;i++)
{
A[i]=keyboard.nextInt();
}
int[]A=新的int[6];
对于(i=0;i,这里您已将数组的大小声明为1,但要遍历数组6次
在for循环中,您应该编写
for (int i=0; i< A.length; i++ ){
A[i]=keyboard.nextInt();
}
for(int i=0;i
所以在本例中,循环将只遍历一次。这里您已将数组的大小声明为1,但将遍历数组6次
在for循环中,您应该编写
for (int i=0; i< A.length; i++ ){
A[i]=keyboard.nextInt();
}
for(int i=0;i
因此,在这种情况下,您的循环将只被遍历一次。
int []array=new int[3];
如果您尝试访问数组[4],它将为您提供ArrayIndexOutOfBoundsException。
底线是,每当您访问一个超出其边界的数组时,您都会得到这个异常
:Djava.lang.ArrayIndexOutOfBoundsException表示您试图访问一个不存在的数组索引。例如,您有一个数组
int []array=new int[3];
如果您尝试访问数组[4],它将为您提供ArrayIndexOutOfBoundsException。
底线是,每当您访问一个超出其边界的数组时,您都会得到这个异常
:D每当您遇到错误时,始终首先检查其API。例如,ArrayIndexOutOfBoundException的文档
在您的代码中,您正在创建一个大小为1的数组,方法是说newint[1]
,现在当您迭代数组并检查A[1]的值时
,您正在尝试访问数组的第二个元素,该元素甚至不存在,因为数组索引从0开始。因此,您正在访问的索引超出了范围每当您遇到错误时,始终首先检查其API。例如,ArrayIndexOutOfBoundException的文档
在您的代码中,您正在创建一个大小为1的数组,方法是说newint[1]
,现在当您迭代数组并检查A[1]的值时
,您正在尝试访问数组的第二个元素,该元素甚至不存在,因为数组索引从0开始。因此,您正在访问的索引超出了范围java.lang.ArrayIndexOutOfBoundsException意味着您正在尝试访问不存在的数组索引
问题是数组的大小为1。但是,您将经历六次循环。您可以使n等于1,也可以增大数组的大小。
问题是您的数组大小为1。但是,您将经历六次循环。您可以使n等于1,也可以增大数组的大小。这意味着您试图访问A[1]
,其中数组只有一个索引:0@alfasin,您错了。数组只有[0]@alfasin这就是你在被我更正后编辑的内容。@alfasin,没关系。没什么大不了的。我看到了一些东西并想更正它。仅此而已。这意味着你试图访问数组只有一个索引的a[1]
:0@alfasin,您错了。数组只有[0]@阿尔法辛,这就是你在被我更正后编辑的内容。@阿尔法辛,没关系。没什么大不了的。我看到了一些东西并想更正它。仅此而已。