Java--实现阶乘的两种方法

/*
 * 需求:请用代码实现5的阶乘
 * 
 * 分析:
 *    有几种实现方案?
 *        A:循环实现
 *        B:递归实现
 *            a:递归要写一个方法
 *            b:出口条件
 *            c:规律
 *              
 */
public class RecursionDemo {

    public static void main(String[] args) {
        xunhuan();
        System.out.println("-----------");
        System.out.println(digui(5));
    }
    // TODO 递归方法
    public static int digui(int n) {
        if (n == 1) {
            return 1;
        }else {
            return n * digui(n - 1);
        }
    }
    
    // TODO 循环方法
    public static void xunhuan() {
        int factorial = 1;
        for (int i = 1; i <= 5; i++) {
            factorial *= i;
        }
        System.out.println(factorial);
    }
}

你可能感兴趣的:(Java--实现阶乘的两种方法)