以下是用 Java 实现上述功能的代码: ```java import java.util.Scanner; public class StudentScores { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入学生数量:"); int studentCount = scanner.nextInt(); double[] scores = new double[studentCount]; String[] names = new String[studentCount]; for (int i = 0; i < studentCount; i++) { System.out.println("请输入第 " + (i + 1) + " 个学生的姓名:"); names[i] = scanner.next(); System.out.println("请输入该学生的成绩:"); while (true) { if (scanner.hasNextDouble()) { scores[i] = scanner.nextDouble(); break; } else { System.out.println("输入无效,请重新输入成绩:"); scanner.next(); } } } double[] averages = calculateAverages(scores); for (int i = 0; i < studentCount; i++) { System.out.println(names[i] + " 的平均成绩是: " + averages[i]); } scanner.close(); } public static double[] calculateAverages(double[] scores) { double[] averages = new double[scores.length]; for (int i = 0; i < scores.length; i++) { double sum = 0; for (double score : scores) { sum += score; } averages[i] = sum / scores.length; } return averages; } } ``` 需要注意的逻辑点: 1. 对于无效输入的处理,要确保能够正确引导用户重新输入。 2. 在计算平均值时,要注意处理除数为 0 的情况,避免出现除零错误。 3. 对于输入的学生数量和成绩,要进行合理的边界检查和错误处理。 [2024-12-17 14:11:16 | AI写代码神器 | 455点数解答]