java 中的数组索引越界
Arrayindex out of bound in java
我无法弄清楚为什么我在这段代码中得到数组索引越界异常
class sample
{
public static void main(String args[])
{
int a[]={1,2,3};
int b[]=new int[10];
for(int i=0;i<10;i++)
{
b[a[i]]=a[i]/*getting array out of bound exception*/
}
}
}
你的循环必须是:
for(int i = 0; i < a.length; i++) {
if (a[i] < b.length) {
b[a[i]] = a[i];
}
}
因为您正在将 a
的值复制到 b
,反之亦然。
a
的长度为 3,因此唯一有效的索引是 0,1 和 2。
因此当 i > 2 时 a[i]
超出范围。
数组a[]只包含3个元素,但是for循环迭代了10次。所以它引发了 ArrayIndexOutofBoundsException。
使用 : for(int i=0;i<3;i++) 或 for(int i=0;i
我无法弄清楚为什么我在这段代码中得到数组索引越界异常
class sample
{
public static void main(String args[])
{
int a[]={1,2,3};
int b[]=new int[10];
for(int i=0;i<10;i++)
{
b[a[i]]=a[i]/*getting array out of bound exception*/
}
}
}
你的循环必须是:
for(int i = 0; i < a.length; i++) {
if (a[i] < b.length) {
b[a[i]] = a[i];
}
}
因为您正在将 a
的值复制到 b
,反之亦然。
a
的长度为 3,因此唯一有效的索引是 0,1 和 2。
因此当 i > 2 时 a[i]
超出范围。
数组a[]只包含3个元素,但是for循环迭代了10次。所以它引发了 ArrayIndexOutofBoundsException。 使用 : for(int i=0;i<3;i++) 或 for(int i=0;i