java数组越界问题?

2024-11-30 23:05:16
推荐回答(5个)
回答(1):

8 这个索引超过了限制。

比如你的数据定义了7位,int a[]=new int[8],a[8],所以8这个值是越界的,a[0]到a[7]是正常范围内的,只是在运行a[8]时发生了越界现象。

回答(2):

8 是你超过范围的 index。

比如:

int i[] = new int[3];
i[5] = 45;

那么就会报错:
java.lang.ArrayIndexOutOfBoundsException: 5

----------------------------------
纠正一下,不一定原数组是7位,只要小于8的长度,都会报这个错的。

回答(3):

比如定义了一个数组int [] a={1,2,3,4};里面只有4个元素,它们的索引分别是{0,1,2,3};如果你要显示a[0],a[1],a[2],a[3]就没问题,但如果你要显示a[4],这时候就会出现越界异常,因为它根本就没有a[4]这个元素,而这个没有的元素4就是出错的原因!所以java.lang.ArrayIndexOutOfBoundsException:4后面的4就是超出数组的元素!

回答(4):

temps.length()是你从控制台输入的字符串的长度,你的for循环里的条件错了,当然就报数组越界了!我给你改好了!
public
static
void
main(String[]
args)
{
Scanner
sc
=
new
Scanner(System.in);
System.out.print("请输入源程序:");
String
temps
=
sc.nextLine();
System.out.println();
String[]
arrays
=
temps.split("
");
for
(int
i
=
0;
i
<
arrays.length;
i
++)
{
if(arrays[i].equals("begin"))
System.out.print("(1,begin)");
else
System.out.print("(error)");
}
}

回答(5):

很简单
int[][]
qq
=
int[length1][length2];
length
就是长度的意思

我说
数组长度为4,但是他编号是从0编起,
[0
,1,2,3]
这个长度为4,
但是如果你要取出
qq[4]
,此时会越界。
你的代码最后一行则体现这个道理。