//以非递归方式解决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];
}
}}
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];
}
}}
a[0]=1;
a[1]=1;能这么定义后使用吗?
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];//第二个要注意的地方
}
}
改成int[] a = new int[40];
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];//第二个要注意的地方
}
}
//以非递归方式解决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];//第二个要注意的地方
}
}
}
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));
}
}
楼主【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
数组在使用之前必须被声明且被初始化