读书人

java有关问题 高手快来看看

发布时间: 2012-03-15 11:50:39 作者: rapoo

java问题 高手快来看看
public class Runtime_02 {
public static void main(String[] args) {
int a[] = new int[5];
for (int i = 0; i < 10; i++) {
a[i] = i + 1;
System.out.print(" " + a[i]);
}
}
}


这个简单的程序在eclipse中运行提示:
1 2 3 4 5java.lang.ArrayIndexOutOfBoundsException: 5
at four.four_one.Runtime_02.main(Runtime_02.java:7)
Exception in thread "main"

这是什么原因啊?

[解决办法]
new int[5];数组长度只有5位。

从0开始,你a[5]到a[9]会报ArrayIndexOutOfBoundsException
[解决办法]
int a[] = new int[5];
自己看int[5]

循环里有几个呢?
for (int i = 0; i < 10; i++)

[解决办法]
你初始化设定 数组大小是5
后面运行都到10了,肯定要越界啊
[解决办法]

探讨

new int[5];数组长度只有5位。

从0开始,你a[5]到a[9]会报ArrayIndexOutOfBoundsException

[解决办法]
很好的资源。大学分享。http://download.csdn.net/detail/sbvfhp/3831104
[解决办法]
很好的资源。大学分享。http://download.csdn.net/detail/sbvfhp/3831104
[解决办法]
明显数组越界么?就没有a[5]以上的数组
[解决办法]
可可甜同学,你的数组越界了。
public static void main(String[] args) {
int a[] = new int[5];
for (int i = 0; i < 5; i++) {
a[i] = i + 1;
System.out.print(" " + a[i]);
}
}
[解决办法]
数组下标越界

你循环的I范围太大了
[解决办法]
你定义的数组a的长度是5
而你在
for (int i = 0; i < 10; i++) {
a[i] = i + 1;
System.out.print(" " + a[i]);
}
为它赋值的时候,在a[0]=0+1;a[1]=1+1;a[2]=2+1;a[3]=3+1;a[4]=4+1;这几个赋值都不会出现错误,当从a[5]这里时便出错误了!
因为你定义的是5个长度,那只能是a[0]-a[4]
所以会数组越界

读书人网 >J2EE开发

热点推荐