请JAVA高手帮忙看下数组越界问题

来源:百度知道 编辑:UC知道 时间:2024/06/02 03:23:22
public class Fibonacci {
public void fb(int n){
int i;
int f[]=new int[n];
f[0]=f[1]=1;
for(i=2;i<n;i++)
f[n]=f[n-1]+f[n-2];
for(i=0;i<n;i++)
{
System.out.println(f[i]);
}
}
public static void main(String[] args)
{
Fibonacci fd=new Fibonacci();
fd.fb(args.length);
}
}

提示Exception in thread "main" java.lang.NegativeArraySizeException
at net.huang.lesson4.Fibonacci.fb(Fibonacci.java:6)
at net.huang.lesson4.Fibonacci.main(Fibonacci.java:18)

实在不知道是哪里越界了!

public void fb(int n){
int i;
int f[]=new int[n];
f[0]=f[1]=1;
for(i=2;i<n;i++)
f[n]=f[n-1]+f[n-2];//这句错了
for(i=0;i<n;i++)
{
System.out.println(f[i]);
}
}
应该是f[n-1]=f[n-1]+f[n-2];因为数组的下标是从0开始的。