直接看代码,如图:
主类为公开类,类名为factorial.
里面包含了一个主函数以及一个方法块。
1主函数
main函数中执行递归计算,使用的是factorial_cal方法,输入的测试数字是5.
递归计算结果的变量应该为递归类型及比递归类型int更高一级的类型,如long float double.本例子选择了long.
2 方法块
在主类中定义方法factorial_cal,输入参数为number
执行number*xxxx
而xxx又调用了该方法自身,直至取值number * … * 1
然后return回计算结果。
public class factorial {
public static void main(String[] args) {
long a;
a = factorial_cal(5);
System.out.println("output recursion value is : "+a);
}
public static int factorial_cal(int number) {
if (number<=1)
return 1;
else
return number*factorial_cal(number - 1);
}
}