Java编写程序,提示输入一个小于 10的自然数,计算出这个数之内的非奇数的自然数的阶乘之和。要求必须采用for 循环进行编程。
时间: 2024-12-06 08:33:45 浏览: 20
在Java中,你可以通过以下步骤编写一个程序来满足这个需求:
首先,我们导入必要的包并声明变量。然后,创建一个`main`函数作为程序入口,并利用`Scanner`获取用户输入的自然数。
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个小于 10 的自然数:");
// 获取用户输入
int num = input.nextInt();
if (num < 1 || num > 9) {
System.out.println("输入错误,请输入小于 10 的自然数!");
return;
}
int sum = 0; // 初始化非奇数的阶乘和为0
for (int i = 1; i <= num; i++) { // 使用for循环遍历1到用户输入的数
if (i % 2 == 0) { // 检查当前数是否为偶数
int factorial = calculateFactorial(i); // 计算并累加偶数的阶乘
sum += factorial;
}
}
System.out.printf("1到%2d之间非奇数的阶乘之和为: %d\n", num, sum);
// 关闭扫描器
input.close();
}
// 阶乘计算方法
private static int calculateFactorial(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * calculateFactorial(n - 1);
}
}
}
```
在这个程序中,我们先检查用户输入的数是否在指定范围内,然后使用for循环遍历每个数。如果数是偶数(非奇数),我们就计算它的阶乘并累加到总和上。最后,我们打印出结果。
阅读全文