实验三:分别用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);
}
}