//调用两个方法,一个计算当前值,一个打印整个数列
//练习7.4
//斐波那契求出当前值的数
public int f(int n){
if(n == 0){
return 0;
}
if(n == 1){
return 1;
}
if(n > 1 ){
return f(n - 1) + f(n - 2);
}
else{
return 0;
}
}
//斐波那契打印从1到当前值的数
public int fbnq(int x){
int sum = 0;
for(int i = 1;i <= x;i++){
if(i == 1){
sum += 1;
System.out.print(sum + "\t");
sum = 0;
}
if(i >= 2){
sum += f(i - 1) + f(i - 2);
System.out.print(sum + "\t");
sum = 0; //这里不归零会一直叠加前面的数,导致所求后面的结果数出错
}
}
return sum;//返回的值是0,在调用该方法的时候如果写了System.out.print,打印结果的最后一位会是0,因为上面已经有syso操作,因此直接调用方法就能打印,不需要再syso
}
}