6.5 java来帮帮我做做呀

来源:百度知道 编辑:UC知道 时间:2024/05/19 23:36:45
写出程序,要求有一个成员方法mb_calculate,其参数为整数(int)变量n,其返回值为在利用j_Fibonacci类的成员方法mb_fibonacci(n)计算Fibonacci(n)的值时所需要的调用成员方法mb_fibonacci的次数,同时要求该程序含有main成员方法,并在main成员方法中计算并输出mb_calculate(20)和mb_fibonacci(20)的值.

public class j_Fibonacci {

int time = 1;

public int mb_calculate(int n) {

if (n > 2) {
++time;
mb_calculate(n - 1);
mb_calculate(n - 2);
}
return time;
}

public int mb_fibonacci(int n) {
if (n <= 2)
return 1;
else
return mb_fibonacci(n - 1) + mb_calculate(n - 2);

}

public static void main(String[] args) {
j_Fibonacci f = new j_Fibonacci();
System.out.println("值:"+f.mb_fibonacci(20));
System.out.println("调用次数:"+f.mb_calculate(20));
}
}
我用递归做的,也没检查结果对不对。求次数时那个time,每次计算后都要清零。