java数组越界问题?
java.lang.ArrayIndexOutOfBoundsException:8,这是我在用MyEclipse时遇到的越界问题,但是我不明白的是,越界异常后面跟的哪个...
java.lang.ArrayIndexOutOfBoundsException: 8,这是我在用MyEclipse时遇到的越界问题,但是我不明白的是,越界异常后面跟的哪个数字是什么意思啊,貌似不同的越界异常他还不一样啊,不明白,哪位能解释一下啊
展开
9个回答
展开全部
8 是你超过范围的 index。
比如:
int i[] = new int[3];
i[5] = 45;
那么就会报错:
java.lang.ArrayIndexOutOfBoundsException: 5
----------------------------------
纠正一下,不一定原数组是7位,只要小于8的长度,都会报这个错的。
比如:
int i[] = new int[3];
i[5] = 45;
那么就会报错:
java.lang.ArrayIndexOutOfBoundsException: 5
----------------------------------
纠正一下,不一定原数组是7位,只要小于8的长度,都会报这个错的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比如定义了一个数组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就是超出数组的元素!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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)");
}
}
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)");
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很简单
int[][]
qq
=
int[length1][length2];
length
就是长度的意思
。
我说
数组长度为4,但是他编号是从0编起,
[0
,1,2,3]
这个长度为4,
但是如果你要取出
qq[4]
,此时会越界。
你的代码最后一行则体现这个道理。
int[][]
=
int[length1][length2];
length
就是长度的意思
。
我说
数组长度为4,但是他编号是从0编起,
[0
,1,2,3]
这个长度为4,
但是如果你要取出
qq[4]
,此时会越界。
你的代码最后一行则体现这个道理。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询