Java成绩录入与统计系统需设计Student和ScoreRecord类,用ArrayList存成绩、HashMap按学号查学生,封装平均分、及格率等统计方法,通过Scanner实现菜单式控制台交互,并校验分数范围、处理空集合等细节。
用Java实现成绩录入与统计,核心在于设计清晰的数据结构、封装合理的业务逻辑,并提供简洁的交互方式。不需要图形界面也能完成基础功能,控制台版本就足够教学或小型管理使用。
先创建两个基础类:Student(学生)和ScoreRecord(成绩记录),避免用纯数组或Map硬编码。Student包含学号、姓名等基本信息;ScoreRecord可关联学生、课程名、分数,并支持合法性校验(如分数0–100)。
可为ScoreRecord重写toString(),方便打印和调试用ArrayList
把统计逻辑写成独立方法,不混在录入流程里。例如getAverageByCourse(String course)遍历全部记录,累加该课程分数再除以人数;getPassRateByCourse(String course)统计≥60分的数量占比。
用Scanner读取用户输入,主循环显示菜单(1.录成绩 2.查某人 3.查某课统计 4.导出列表 0.退出),用switch处理选项。每项功能调用对应方法,错误输入要有提示,比如“请输入有效数字”“未找到该课程”。
基本上就这些。不复杂但容易忽略细节——比如分数校验、空集合处理、学号重复逻辑。写完后跑几组测试数据(单科、多科、不及格、全满分),基本就能稳定支撑课程设计或实训需求。