0


JAVA项目-学生成绩管理系统

要求:

编写一个学生成绩管理系统。学生的属性包括学号、姓名、年龄等。每个学生要学习若干课程,每门课程有平时成绩、其中考试成绩、实习成绩、期末考试成绩以及总评成绩等多个成绩,其中平时成绩的数目不定(因为不同课程的教师布置的平时作业不同),而总评成绩是其它成绩的平均值。请先设计合理的类存放这些信息,然后设计程序完成以下功能:
(1)列出某个学生的所有成绩;
(2)列出某门课程每个学生的总评成绩,及所有学生总评成绩的总评分;
(3)分区段统计某门课程的学生总评成绩,例如60分以下的学生人数、60至70分的学生人数等。

分析:

(1)存放学生信息的类
属性:姓名、学号、年龄、所学课程集合
操作:设置课程的方法、其他属性的设置以及获取方法、获取自身信息的字符串表示、构造方法(对所有属性的初始化)
(2)代表课程的类
属性:课程名、平时成绩、期中成绩、实习成绩、期末成绩、总评成绩
操作:构造方法(对所有属性初始化)、所有属性的get/set方法、toString方法(返回代表自身信息的字符串方法)
(3)具体功能实现类
属性:学生集合
操作:根据名字搜索学生信息、列出某门课程每个学生的总评成绩,及所有学生总评成绩的总评分、分区段统计某门课程的学生总评成绩,例如60分以下的学生人数、60至70分的学生人数等。
(4)测试类
功能:创建系统菜单
1——创建学生集合(学生相关信息可以从键盘录入也可以直接初始化)
2——查询学生信息
3——列出某门课程每个学生的总评成绩,及所有学生总评成绩的总评分
4——分区段统计某门课程的学生总评成绩,例如60分以下的学生人数、60至70分的学生人数等
根据用户输入的选项,调用功能类相关操作。

部分代码展示:
(由于代码文件数量较多,此处仅给出部分源码,完整源码可通过下方链接下载)
学生成绩管理系统源码链接
学生类Student

importjava.util.List;publicclassStudent{privateString stuName;privateString stuNo;privateint stuAge;List<Course> courses;publicStringgetStuName(){return stuName;}publicvoidsetStuName(String stuName){this.stuName = stuName;}publicStringgetStuNo(){return stuNo;}publicvoidsetStuNo(String stuNo){this.stuNo = stuNo;}publicintgetStuAge(){return stuAge;}publicvoidsetStuAge(int stuAge){this.stuAge = stuAge;}publicList<Course>getCourses(){return courses;}publicvoidsetCourses(List<Course> courses){this.courses = courses;}publicStudent(String stuName,String stuNo,int stuAge,List<Course> courses){this.stuName = stuName;this.stuNo = stuNo;this.stuAge = stuAge;this.courses = courses;}publicStudent(){}@OverridepublicStringtoString(){return"Student["+"stuName='"+ stuName +'\''+", stuNo='"+ stuNo +'\''+", stuAge="+ stuAge +", courses="+ courses +']';}}

课程类Course

publicclassCourse{privateString courseName;//课程名称privatedouble dailyGrade;//平时成绩privatedouble midGrade;//期中成绩privatedouble doGrade;//实习成绩privatedouble endGrade;//期末成绩privatedouble sumGrade;//总评成绩publicStringgetCourseName(){return courseName;}publicvoidsetCourseName(String courseName){this.courseName = courseName;}publicdoublegetDailyGrade(){return dailyGrade;}publicvoidsetDailyGrade(double dailyGrade){this.dailyGrade = dailyGrade;}publicdoublegetMidGrade(){return midGrade;}publicvoidsetMidGrade(double midGrade){this.midGrade = midGrade;}publicdoublegetDoGrade(){return doGrade;}publicvoidsetDoGrade(double doGrade){this.doGrade = doGrade;}publicdoublegetEndGrade(){return endGrade;}publicvoidsetEndGrade(double endGrade){this.endGrade = endGrade;}publicdoublegetSumGrade(){return sumGrade;}publicvoidsetSumGrade(double sumGrade){this.sumGrade = sumGrade;}publicCourse(String courseName,double dailyGrade,double midGrade,double doGrade,double endGrade,double sumGrade){this.courseName = courseName;this.dailyGrade = dailyGrade;this.midGrade = midGrade;this.doGrade = doGrade;this.endGrade = endGrade;this.sumGrade = sumGrade;}@OverridepublicStringtoString(){return"Course["+"courseName='"+ courseName +'\''+", dailyGrade="+ dailyGrade +", midGrade="+ midGrade +", doGrade="+ doGrade +", endGrade="+ endGrade +", sumGrade="+ sumGrade +']';}}

按名字查询学生

publicvoidselectName(String name){boolean temp =false;for(int i =0; i < studentList.size(); i++){if(name.equals(studentList.get(i).getStuName())){
                temp =true;System.out.println("姓名:"+studentList.get(i).getStuName()+",学号:"+studentList.get(i).getStuNo()+",年龄:"+studentList.get(i).getStuAge());System.out.println("该学生的成绩是:");for(int j =0; j < studentList.get(i).getCourses().size(); j++){System.out.println(studentList.get(i).getCourses().get(j).toString());}}}if(!temp){System.out.println("很抱歉没有找到该学生信息!");}}

某门课程每个学生的总评成绩,及所有学生总评成绩的总评分

publicvoidselectCourse(String courseName){boolean temp =false;double sumGrade =0;for(int i =0; i < studentList.size(); i++){for(int j =0; j < studentList.get(i).getCourses().size(); j++){if(courseName.equals(studentList.get(i).getCourses().get(j).getCourseName())){
                    temp =true;
                    sumGrade += studentList.get(i).getCourses().get(j).getSumGrade();System.out.println(studentList.get(i).getStuName()+"总评分是:"+studentList.get(i).getCourses().get(j).getSumGrade());}}}if(!temp){System.out.println("很抱歉没有找到该课程信息!");}else{System.out.println("所有学生的总评分是:"+sumGrade);}}

分区段统计学生总评成绩的总评分

publicvoidselectCourseGrade(String course){int excellent =0;//优秀:90-100int fine =0;//良好:70-89int qualified =0;//合格:60-69int disqualification =0;//不合格:0-59for(int i =0; i < studentList.size(); i++){for(int j =0; j < studentList.get(i).getCourses().size(); j++){if(studentList.get(i).getCourses().get(j).getSumGrade()>=90){
                    excellent++;}elseif(studentList.get(i).getCourses().get(j).getSumGrade()>=70){
                    fine++;}elseif(studentList.get(i).getCourses().get(j).getSumGrade()>=60){
                    qualified++;}elseif(studentList.get(i).getCourses().get(j).getSumGrade()>=0){
                    disqualification++;}}}System.out.println("优秀:90-100分的有:"+excellent+"人");System.out.println("良好:70-89分的有:"+fine+"人");System.out.println("合格:60-69分的有:"+qualified+"人");System.out.println("不合格:0-59分的有:"+disqualification+"人");}

运行截图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

标签: java intellij idea

本文转载自: https://blog.csdn.net/weixin_44556353/article/details/123988403
版权归原作者 芋头乖乖~ 所有, 如有侵权,请联系我们删除。

“JAVA项目-学生成绩管理系统”的评论:

还没有评论