日期:2014-05-20 浏览次数:20733 次
a[0] = 5 a[1] = 6 a[2] = 8 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3 at TestJavayiweifuzhi.main(TestJavayiweifuzhi.java:12)
public class TestJavayiweifuzhi { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int i ; int a[]={5,6,8}; for(i=0;i<=a.length;i++) System.out.println("a["+i+"] = "+a[i]); System.out.println("数组的长度是"+a.length); } }
package a; public class Test0 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int i ; int a[] = {5, 6, 8}; for(i = 0; i < a.length; i++) System.out.println("a["+i+"] = "+a[i]); System.out.println("数组的长度是"+a.length); } }
------解决方案--------------------
java.lang.ArrayIndexOutOfBoundsException: 数组越界了
数组的范围 是0 到 length-1
int i ;
int a[]={5,6,8};
for(i=0;i<a.length;i++){
System.out.println("a["+i+"] = "+a[i]);
System.out.println("数组的长度是"+a.length);
}
------解决方案--------------------
for(i=0;i<=a.length;i++)
这里不是这样的
for(i=0;i<a.length;i++)
这样就好了
数组是重0算的,length是1开始算所以你要小于length不能等于,当等于时就数组越界了,就是超出数组的范围了
------解决方案--------------------
多循环了一次。数组下标是从0开始,数组长度是3,你判断条件是小于等于数组长度,这样循环就要0、1、2、3四次了,但是其实这个数组只到2就结束了,所以超过了就报越界错误。
虽然书有写的好坏,但是对于新手来说,差不到哪里去。所以最关键的是坚持,一定要敲代码,反复看反复敲就学得会,你可以看看马士兵的视频吧。