本人是Java新手一只..
在看一本叫[从入门到精通Java]的书其中有一课题讲的是关于数组的..我按照范例所写的代码在Eclipse SDK Version: 3.7.2
会出现
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);
}}另外 我只有一点点编程的基础 希望各位CSDN的大神推荐基本适合我看的Java书籍
感谢

解决方案 »

  1.   

     for(i=0;i<=a.length;i++)-->  for(i=0;i<a.length;i++) 
    数组的下标 是 :  0 ~ a.length -1 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);
                }}
      

  2.   

    java.lang.ArrayIndexOutOfBoundsException:  数组越界了
    数组的范围  是0  到 length-1int 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);
            }
      

  3.   

    for(i=0;i<=a.length;i++)
    这里不是这样的
    for(i=0;i<a.length;i++)
    这样就好了 
    数组是重0算的,length是1开始算所以你要小于length不能等于,当等于时就数组越界了,就是超出数组的范围了