输入一个正整数n,求n的阶乘 n!=1*2*3*...*n (从键盘中输入n)
时间: 2024-10-08 22:14:46 浏览: 38
输入两个正整数m和n求其最大公约数和最小公倍数 (2).pdf
在Java中,计算一个正整数n的阶乘是一个常见的练习,通常会涉及到递归或者是迭代。这里给出一个简单的递归方法的例子:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个正整数n:");
int n = scanner.nextInt();
long factorial = calculateFactorial(n);
System.out.printf("%d 的阶乘是: %d\n", n, factorial);
// 关闭扫描器
scanner.close();
}
private static long calculateFactorial(int num) {
if (num == 0 || num == 1) {
return 1; // 阶乘的基本情况
} else {
return num * calculateFactorial(num - 1); // 递归调用
}
}
}
```
在这个例子中,`calculateFactorial`函数接收一个整数作为参数,并递归地调用自身来计算阶乘。
阅读全文