java 提示错误Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1

importjava.io.*;publicclassFibonacci{intn;intf[]=newint[n+1];intgetN()throwsIOExcepti... import java.io.*;
public class Fibonacci {
int n;
int f[]=new int[n+1];
int getN() throws IOException{
String inputString;
System.out.println("请输入n: ");
BufferedReader a=new BufferedReader(new InputStreamReader(System.in));
inputString=a.readLine();
n=Integer.parseInt(inputString);
return n;
}
public static void main(String[] args) throws IOException {
Fibonacci a=new Fibonacci();
int n1 = a.getN();
a.f[0]=0;
a.f[1]=1;
a.f[2]=1;
for(int i=3;i<=n1;i++){
a.f[i]=a.f[i-1]+a.f[i-2];
System.out.println("F["+i+"]是"+a.f[i]);
a.f[i-1]=a.f[i];
a.f[i-2]=a.f[i-1];
}
}
}

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at Fibonacci.main(Fibonacci.java:19)
展开
 我来答
chenguang5092
2012-10-25 · TA获得超过664个赞
知道小有建树答主
回答量:520
采纳率:50%
帮助的人:465万
展开全部
数组越界了
int n; //0
int f[]=new int[n+1]; //只执行一次
只为数组f创建了一个空间, 输入任何数都不会影响f
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e463519
2012-10-25
知道答主
回答量:19
采纳率:0%
帮助的人:8万
展开全部
没有构造函数。new出来的对象n默认是0.那么你的那个数组只有1的长度。所以a.f[1]=1;报越界
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友39924e4
2012-10-25
知道答主
回答量:19
采纳率:0%
帮助的人:8.1万
展开全部
去黑客论坛!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lbbheart
2012-10-25 · 超过18用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:15.7万
展开全部
可能是没有传入参数~~需要手动传入参数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式