//以非递归方式解决Test11 An=An-1+An-2
public class Test11 {
public static void main(String[] args){
System.out.println(method(40));
}
public static long method(int n){
if(n==1||n==2){
return 1;
}
else{
int i;
int a[]=null;
a[0]=1;
a[1]=1;
for(i=3;i<40;i++){
a[i]=a[i-1]+a[i-2];
}
return a[i];
}
}}

解决方案 »

  1.   

    int a[]=null;
    a[0]=1;
    a[1]=1;能这么定义后使用吗?
      

  2.   

    你写成int a[40];倒还可以原谅
      

  3.   


    public static long method(int n){
            if(n==1||n==2){
                return 1;
            }
            else{
                int i;
                int a[] = new int[n];//第一个要注意的地方
                a[0]=1;
                a[1]=1;
                for(i=3;i<40;i++){
                    a[i]=a[i-1]+a[i-2];
                }
                return a[n-1];//第二个要注意的地方
            }
        }
      

  4.   

    int a[]=null;都等于null了,当然会抛NullPointerException了
    改成int[] a = new int[40];
      

  5.   

    写错了,重来
    public static long method(int n){
            if(n==1||n==2){
                return 1;
            }
            else{
                int i;
                int a[] = new int[40];//第一个要注意的地方
                a[0]=1;
                a[1]=1;
                for(i=3;i<40;i++){
                    a[i]=a[i-1]+a[i-2];
                }
                return a[n-1];//第二个要注意的地方
            }
        }
      

  6.   

    ]for(i=2;i<40;i++){ //第三个要注意的地方
      

  7.   


    //以非递归方式解决Test11 An=An-1+An-2
    public class Test11 {
    public static void main(String[] args) {
    System.out.println(method(40));
    } public static long method(int n){
            if(n==1||n==2){
                return 1;
            }
            else{
                int i;
                int a[] = new int[n];//第一个要注意的地方
                a[0]=1;
                a[1]=1;
                for(i=3;i<n;i++){
                    a[i]=a[i-1]+a[i-2];
                }
                return a[n-1];//第二个要注意的地方
            }
        }
    }
      

  8.   

    为何要用数组,这样大小不好控制,我改了下你的代码:public class Test11 {

    public static long method(int n){
    int k=0;
    if(n==1||n==2){
    return 1;
    }else{
    int x,y;
    x=y=1;

    for(int i=3;i<=n;i++){
    k=x+y;
    x=y;
    y=k;
    }
    return k;
    }
    }

    public static void main(String[] args){
    System.out.println(method(7));
    }
    }
      

  9.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【fengdeguiji】截止到2010-09-03 13:28:11的历史汇总数据(不包括此帖):
    发帖数:2 发帖分:100  
    结贴数:0 结贴分:0  
    未结数:2 未结分:100  
    结贴率:0.00 % 结分率:0.00 %  
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  10.   

    int a[]=null;
    数组在使用之前必须被声明且被初始化