标题:关于java Fibonacci的问题!!!
只看楼主
老五77
Rank: 1
等 级:新手上路
帖 子:6
专家分:2
注 册:2012-4-25
结帖率:50%
已结贴  问题点数:5 回复次数:1 
关于java Fibonacci的问题!!!
代码如下
public class Fibonacci{
    public static void main(String args[]){
        int n = Integer.parseInt(args[0]);
        int n1 = 1;//第一个数
        int n2 = 1;//第二个数
        int sum = 0;//和
        if(n<=0){
            System.out.println("参数错误!");
            return;
        }
        if(n<=2){
            sum = 1;            
        }else{
            for(int i=3;i<=n;i++){
                sum = n1+n2;
                n1 = n2;
                n2 = sum;
            }
        }
        System.out.println(sum);
    }
}
运行后显示Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at com.liushiqi.Fibonacci.main(Fibonacci.java:5)   这是怎么回事呢??
搜索更多相关主题的帖子: public return 
2012-06-09 18:32
oscarzhou
Rank: 1
等 级:新手上路
帖 子:5
专家分:5
注 册:2012-6-15
得分:5 
数组越界 for(int i=3;i<=n;i++)  中最好调用.length方法
你是从命令行传入的
给你举另一个例子吧  如果你定义一个数组a[9]  有9个数据 当你判断n>a[15]因为没有定义到15这么多元素
所以越界,调用 a.length 就不回出现这个问题了
2012-06-15 00:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-371168-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.121629 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved