You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java程序修改求助:实现三门考试成绩的通过学生统计

三门考试成绩的通过统计代码修改方案

以下是修改后的完整代码,实现了输入每位学生三门考试成绩,并统计三门均及格(≥7分,满分10分)的学生人数:

import java.util.Scanner;

public class Attestation {
    
    static double InputNumber(String caption, Scanner sc) {
        System.out.print(caption);
        boolean isError;
        do {
            isError = !sc.hasNextDouble();
            if (isError) {
                System.out.print("ERROR: ");
                sc.nextLine();
            }
        } while (isError);
        
        double score = sc.nextDouble();
        // 验证成绩是否在0-10的有效范围
        if (score < 0 || score > 10) {
            System.out.print("成绩必须在0到10之间,请重新输入: ");
            return InputNumber(caption, sc);
        }
        return score;
    }
                
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        // 输入学生人数
        int count = (int) InputNumber("输入学生人数: ", sc);
        
        // 打印表头
        System.out.println("\nTest №1\t │ Test №2\t │ Test №3");
        System.out.println("---------------------------------------------");

        // 输入成绩并统计通过人数
        int passed = 0;
        for (int i = 1; i <= count; i++) {
            System.out.println("\n第" + i + "位学生:");
            double test1 = InputNumber("输入第1门成绩: ", sc);
            double test2 = InputNumber("输入第2门成绩: ", sc);
            double test3 = InputNumber("输入第3门成绩: ", sc);
            
            // 打印当前学生的三门成绩
            System.out.printf("%.1f\t │ %.1f\t │ %.1f\n", test1, test2, test3);
            
            // 判定是否三门均及格
            if (test1 >= 7 && test2 >= 7 && test3 >= 7) {
                passed++;
            }
        }
        
        // 输出统计结果
        System.out.println("\n---");
        System.out.println(passed + " 名学生通过院校考核");
        
        sc.close();
    }
}

关键修改说明

  • 复用Scanner实例:将Scanner对象作为参数传入InputNumber方法,避免重复创建对象导致的输入异常。
  • 三门成绩输入逻辑:在循环中为每个学生依次输入三门成绩,明确提示每门考试的输入要求。
  • 成绩有效性验证:新增成绩范围检查,确保输入的成绩在0-10的合理区间内。
  • 通过判定逻辑修正:只有当三门成绩都≥7分时,才将该学生计入通过人数,符合需求。
  • 结果可视化优化:打印每位学生的三门成绩,与表头对应,让输出更直观清晰。

内容的提问来源于stack exchange,提问作者draing

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 21:40:25