java 计算并打印1! + 2! + 3! + ... + n!的值 结果注意边界
时间: 2023-08-31 13:11:36 浏览: 107
java实现计算打印总数的小程序
以下是一个计算并打印 1! + 2! + 3! + ... + n! 的Java代码,同时注意边界条件:
```java
import java.util.Scanner;
public class FactorialSum {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个正整数 n:");
if (scanner.hasNextInt()) {
int n = scanner.nextInt();
if (n >= 1 && n <= 20) {
long sum = 0;
for (int i = 1; i <= n; i++) {
sum += factorial(i);
}
System.out.println("阶乘之和为:" + sum);
} else {
System.out.println("error");
}
} else {
System.out.println("error");
}
}
private static long factorial(int n) {
long result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
}
```
在这个示例中,我们首先使用 Scanner 类获取用户输入的整数 n。然后,我们检查输入是否为正整数且在 1 到 20 的范围内。如果是,则计算阶乘之和并打印结果;否则,输出字符串 "error"。
我们使用一个辅助方法 factorial,用于计算给定整数的阶乘。在循环中,我们将每个数从 1 到 n 依次相乘,得到最终的阶乘结果。
请注意,我们限定了输入范围为 1 到 20 的原因是阶乘的结果会非常快地增长,超出 long 类型的范围。如果需要计算更大的阶乘之和,可以根据需要进行适当的修改。
阅读全文