java从键盘输入两个正整数m和n,计算n的阶乘
时间: 2024-12-19 12:17:27 浏览: 17
在Java中,你可以通过递归的方式来计算一个正整数n的阶乘。阶乘是指所有小于及等于该数的正整数相乘的结果。下面是一个简单的示例:
```java
import java.util.Scanner;
public class FactorialCalculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 请求用户输入两个正整数 m 和 n (这里假设 m 只用于显示阶乘结果)
System.out.println("请输入一个正整数 n:");
int n = scanner.nextInt();
if (n < 0) {
System.out.println("抱歉,阶乘只对正整数有意义。");
return;
}
// 计算阶乘并打印结果
long factorial = calculateFactorial(n);
System.out.printf("n! 的值是: %d\n", factorial);
// 计算 m 的阶乘并展示结果 (这里是示例,实际可能不需要)
System.out.println("m 阶乘对于此示例来说并不需要,仅用于 n 的阶乘计算。");
}
// 递归函数计算阶乘
private static long calculateFactorial(int num) {
if (num == 0 || num == 1) {
return 1; // 阶乘的基本情况,0和1的阶乘都是1
} else {
return num * calculateFactorial(num - 1); // 递归调用自身
}
}
}
```
在这个程序中,我们首先获取用户的输入`n`,然后检查它是否为正整数。接着,我们使用`calculateFactorial`递归函数来计算阶乘,并将结果存储在`factorial`变量中。
如果你运行这个程序,记得输入一个正整数,比如5,程序会输出5的阶乘结果120。
阅读全文