今天我按照书上的提示进行数组的联系,完全是照书上代码照着写,用的是Eclipse ,书写完成后没有提示出错,可是一运行的结果却是:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at TestJavayiwei.main(TestJavayiwei.java:6)
具体代码如下:
public class TestJavayiwei {
    public static void main(String[] args) {
          int i;
          int a[]={5,6,8};
  for(i=0;i<3;i++);
      System.out.print("a["+i+"]="+a[i]+",\t");
System.out.println("\n 数组的长度是:"+a.length);
}}

解决方案 »

  1.   

    楼主这么写不知道是要干嘛?当循环完成时i的值已经是3了下面print的时候自然去掉a[3]了,所以ArrayIndexOutOfBoundsException了你可以把for(i=0;i<3;i++);
    后面的;去掉!~
      

  2.   

    楼上正确!for(i=0;i<3;i++);最后的;去掉书上肯定没有的
      

  3.   

    楼主粗心,照抄代码都错了。
    ArrayIndexOutOfBoundsException是数组越界异常。如1楼所说,a只有三项,最后一个是a[2];而你的代码取到a[3]去了,当然异常。
      

  4.   

    for(i=0;i<3;i++);
    System.out.print("a["+i+"]="+a[i]+",\t");
    System.out.println("\n 数组的长度是:"+a.length);
    有问题   你到底是想把输出放到循环里么?   看看你的for 循环  后面有个分号。
      

  5.   

    数组越界异常,for循环没有起作用,这样改一下就OK了
    public class TestJavayiwei {
      public static void main(String[] args) {
      int i;
      int a[]={5,6,8};
    for(i=0;i<3;i++){
    System.out.print("a["+i+"]="+a[i]+",\t");}
    System.out.println("\n 数组的长度是:"+a.length);
    }}应该是楼主抄写错误,要不就是书的印刷错误,总之是错了.....
      

  6.   

    谢谢楼上各位 的确是我粗心 在for(i=0;i<3;i++)的后面多抄了一个; 感谢各位的帮助!