Java运用while从键盘终端输入1到100之间的整数m,计算1!+2!+…+m!结果
时间: 2024-09-27 07:05:51 浏览: 35
在Java中,我们可以使用`while`循环结合递归的方式来计算1到m的阶乘之和。首先,需要定义一个函数来计算阶乘,然后利用`Scanner`获取用户输入的整数,并通过`while`条件判断是否达到终止条件。以下是代码示例:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int m = 0;
// 获取用户输入的整数
System.out.println("请输入1到100之间的整数:");
while (m < 1 || m > 100) { // 确保输入在范围内
try {
m = scanner.nextInt();
} catch (Exception e) {
System.out.println("输入错误,请输入一个整数!");
}
}
long factorialSum = 0; // 初始化阶乘和为0
for (int i = 1; i <= m; i++) {
factorialSum += factorial(i); // 计算并累加每个数的阶乘
}
System.out.printf("1! + 2! + ... + %d! 的结果是: %d", m, factorialSum);
scanner.close(); // 关闭扫描器
}
// 阶乘函数
private static long factorial(int n) {
if (n == 0 || n == 1) return 1;
else return n * factorial(n - 1);
}
}
```
当你运行这个程序,它会提示用户输入一个1到100之间的整数,然后计算对应的阶乘之和。
阅读全文