1. 问答
  2. 问答详情

java用for,while,do_while循环语句以及递归方法计算n的阶乘

java用for,while,do_while循环语句以及递归方法计算n的阶乘

//for循环
public static void forFunc(int n) {
    int result = 1;
    StringBuffer str = new StringBuffer();
    for (int i = n; i > 0; i--) {
        if (i > 1) {
            str.append(i + "*");
        } else {
            str.append(i + "=");
        }
        result *= i;
    }
    str.append(result);
    System.out.print(str.toString());
}
//while循环
public static void whileFunc(int n) {
    int result = 1;
    StringBuffer str = new StringBuffer();
    while (n > 0) {
        if (n > 1) {
            str.append(n + "*");
        } else {
            str.append(n + "=");
        }
        result *= n;
        n--;
    }
    str.append(result);
    System.out.print(str.toString());
}
//do_while循环
public static void doWhileFunc(int n) {
    int result = 1;
    StringBuffer str = new StringBuffer();
    do {
        if (n > 1) {
            str.append(n + "*");
        } else {
            str.append(n + "=");
        }
        result *= n;
        n--;
    } while (n > 0);
    str.append(result);
    System.out.print(str.toString());
}
//递归
public static void recursiveFunc(int n, int result) {

    if (n > 1) {
        System.out.print(n + "*");
        recursiveFunc(n - 1, result * n);
    } else {
        System.out.print(n + "=" + result);
    }

}


撰写答案

验证码
点击刷新