用java语言编写一个完整程序,要求该程序可以定义并计算一个自然数的阶乘。
时间: 2024-09-25 15:11:35 浏览: 35
JAVA求N的阶乘
当然,这是一个简单的Java程序,用于计算给定自然数的阶乘:
```java
import java.util.Scanner;
public class FactorialCalculator {
// 定义一个静态方法来计算阶乘
public static long factorial(int n) {
if (n == 0 || n == 1) { // 阶乘的基本情况,0和1的阶乘都是1
return 1;
} else {
return n * factorial(n - 1); // 递归计算阶乘
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个自然数:");
int number = scanner.nextInt();
if (number < 0) {
System.out.println("抱歉,负数没有阶乘。");
} else {
long result = factorial(number);
System.out.printf("数 %d 的阶乘是 %d。\n", number, result);
}
scanner.close();
}
}
```
在这个程序中,我们首先定义了一个名为`factorial`的静态方法,它通过递归计算阶乘。在`main`函数里,我们从用户那里获取输入,并检查输入是否是非负整数,然后计算并打印结果。
阅读全文