- public class DiGui
- {
- public static void main(String[] args)
- {
- System.out.println(fab(10));
- System.out.println(jieCheng(1));
- }
-
- //斐波那契数列
- public static int fab(int n)
- {
- if (n==1 || n==2)
- {
- return 1; //此方法的出口
- }else if (n>2) {
- return fab(n-1)+fab(n-2);
- }else {
- return 0; //表明传入的参数有误,n必须为大于0的整数。
- }
- }
-
- //求阶乘
- public static int jieCheng(int n)
- {
- if (n==0)
- {
- return 1; //此方法的出口
- }else if (n>0) {
- return n*jieCheng(n-1);
- }else {
- return 0; //表明传入的参数有误,n必须为大于等于0的整数。
- }
- }
- }
复制代码 所谓递归就是方法调用自身。最重要的就是事先要想到方法的出口,不然的话就是死循环了。
有两个简单的递归的例子。
1,求斐波那契数列:1,1,2,3,5,8,13……。求此数列的第n个数字:
2,求阶乘,n!
|