下面是我编的 能解释出来可就是编译不出来。编译后出如下错误
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
at Fibonacci.main(Fibonacci.java:10)
下面是源程序:大家看是什么问题。谢谢了!!!
class Fibonacci

 public static void main(String args[])
 { 
    int i;
    int F[]=new int [10];
    F[0]=1;
    F[1]=1;
    for(i=0;i<10;i++)
    F[i]=F[i-1]+F[i-2];
     for(i=1;i<=10;i++) 
     System.out.println("F[+i+]"+F[i-1]);
  }
}

解决方案 »

  1.   

    new int [10];下标是 0..9。
      

  2.   

    for(i=0;i<10;i++)
    F[i]=F[i-1]+F[i-2];   //i=0的时候 i-1=-1 和i-2=-2都是越界的
      

  3.   

    我刚该了应该是
      for(i=2;i<10;i++0)这样按理说该对了把
    可还是不出来。
      

  4.   

    class Fibonacci

     public static void main(String args[])
     { 
        int i;
        int F[]=new int [10];
        F[0]=1;
        F[1]=1;
        for(i=2;i<10;i++)
        F[i]=F[i-1]+F[i-2];
         for(i=1;i<=10;i++) 
         System.out.println("F["+i+"]="+F[i-1]);
      }
    }
      

  5.   

    楼主在第一个循环里面又用了一个循环,但是这两个循环的参数都是i,所以当外面的循环走完第一次的时候i=2,但是里面的循环走完以后i=11,然后再i++就变成12了,这个时候再走外面的循环的时候,F[12]就出错了,ArrayIndexOutOfBoundsException!!