以下是使用 Java 实现您需求的代码示例: ```java import java.util.Scanner; public class FactorialCalculator { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n; while (true) { System.out.print("请输入一个一位数: "); n = scanner.nextInt(); if (n >= 0 && n <= 9) { break; } else { System.out.println("请正确输入一个一位数"); } } int factorial = 1; int sum = 0; for (int i = 0; i <= n; i++) { if (i == 0 || i == 1) { factorial = 1; } else { factorial *= i; } sum += factorial; } System.out.println(n + "!和为: " + sum); } } ``` 以下是三个改进建议: 1. 可以添加一些错误处理机制,例如当用户输入的不是数字时进行提示。 2. 可以将计算阶乘和求和的部分提取为单独的方法,以提高代码的可读性和可维护性。 3. 可以使用更简洁的方式来判断输入是否为有效的一位数,例如使用正则表达式。 [2024-12-23 21:27:44 | AI写代码神器 | 312点数解答]