分别用for,while,do_while循环语句以及递归方法计算n!,并输出算式(java语句)

2024-11-27 22:18:20
推荐回答(1个)
回答1:

//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);
}

}