java问题高手快来看看public class Runtime_02 {public static void main(String[] args) {int a[] new
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了,肯定要越界啊 [解决办法]
[解决办法] 很好的资源。大学分享。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] 所以会数组越界