java 计算阶乘之和 输入整数n 计算并打印1! + 2! + 3! + ... + n!的值。如果输入的n不是数字,或者是数字但不是正整数,或者n > 200,则输出字符串error
时间: 2023-10-07 18:09:16 浏览: 73
你可以使用以下代码来计算并打印 1! +2! + 3! + + n! 的值:
java
import java.util.Scanner;
public FactorialSum {
public static void main(String[] args) {
Scanner scanner = new Scanner.in);
System.out.print("请输入一个正整数 n:");
if (scanner.hasNextInt()) {
int n = scanner.nextInt();
if (n > 0 && n <= 200) {
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。然后,我们检查输入是否为正整数且不超过 200。如果是,则计算阶乘之和并打印结果;否则,输出字符串 ""。
我们还定义了一个辅助方法 factorial,用于计算给定整数的阶乘。在循环中,我们将每个数从 1 到 n 依次相乘,得到最终的阶乘结果。
请注意,在输入非数字或不正整数的情况下,都会输出字符串 "error"。