public class ArrayTest{
public static void main(String args[])
{
int i;
int a[] = new int[5];
              
for(i = 0;i < a.length;i++)
{
                    a[i] = i;
           System.out.println("a["+i+"]="+a[i]);
                   }

}
}

解决方案 »

  1.   

    for循环有问题,不加大括号,循环到i=5的时候跳出循环,此时i的值是5
    然后System.out.println("a["+i+"]="+a[i]);就造成数组越界
    因为是没有a[5]这个值的
    不知道是故意写成这样的还是初学?
    建议改成:
    public class ArrayTest{
    public static void main(String args[])
    {
    //int i;
    int a[] = new int[5];
    for(int i = 0;i < 5;i++)//for循环有多条语句,要用大括号括起来
    {
                         a[i] = i;
                System.out.println("a["+i+"]="+a[i]);
                       }

    }
    }
      

  2.   

    楼上:
    public class ArrayTest{
    public static void main(String args[])
    {
    int i;
    int a[] = new int[5];
    for(i = 0;i < 5;i++)
    a[i] = i;
        System.out.println("a["+i+"]="+a[i]);

    }
    }
    请说出为什麽这样是错误的?