java用for语句计算n!,n的值由键盘 输入 解题思路:n!=1*2*3..n,这是一个累乘的情 况,编程思路与累加相同。每完成一次乘法,循 环控制变量增1,n为循环条件。
时间: 2024-09-26 09:15:18 浏览: 54
在Java中,你可以使用`for`循环结合递归来计算一个给定整数`n`的阶乘(n!)。下面是一个简单的示例程序:
```java
import java.util.Scanner;
public class Factorial {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个正整数:");
int n = scanner.nextInt(); // 获取用户输入的n
long result = factorial(n); // 调用阶乘函数
System.out.printf("n! 的结果是:%d\n", (int) result); // 输出结果
scanner.close();
}
// 计算阶乘的递归方法
public static long factorial(int num) {
if (num == 0 || num == 1) { // 阶乘的基本情况,0! 和 1! 等于1
return 1;
} else {
// 使用 for 循环累乘
long fact = 1;
for (long i = 2; i <= num; i++) {
fact *= i;
}
return fact;
}
}
}
```
在这个程序中,我们首先获取用户输入的`n`值,然后通过`factorial`方法计算阶乘。`factorial`方法是一个递归函数,当`num`为0或1时返回1,否则通过`for`循环从2到`num`逐次将每个数字相乘。
阅读全文