注:这个程序要结合下面3个类才能运行: 学生信息可以自己加
/*1.编写一个学生成绩管理程序。学生的属性包括学号、姓名、年龄等。每个学生要学习
若干课程,每门课程有平时成绩、期中考试成绩、实习成绩、期末考试成绩以及总评成绩
等多个成绩,其中平时成绩的数目不定(因为不同课程的教师布置的平时作业数不同),而
总评成绩是其它成绩的平均值。 请先设计合理的对象容器类存放这些信息,然后设计程序完 成以下功能:
1)列出某个学生的所有成绩;
2)列出某门课程每个学生的总评成绩,及所有 学生总评成绩的总评分;
3)分区段统计某门课程的学生总评成绩,例如60 分以下的学生人 数、60 至70 分的学生人数等。 根据兴趣,你还可实现其它一些功能。请仔细设计和组织你的 类和使用的集合类对象。*/
package com.geminno.day730.homework12;
import java.util.ArrayList; import java.util.List;
public class TestStudentManage {
public static void main(String[] args) {
List
List
//第一个学生的信息:
Course c = new Course(\编程\, 85, 69, 70, 75, 90); courses.add(c);
c = new Course(\编程思想\, 95, 78, 86, 88, 80); courses.add(c);
c = new Course(\编程\, 90, 80, 75, 88, 92); courses.add(c);
c = new Course(\数据库\,93,60,55,80,56); courses.add(c);
Student s = new Student(\, \张三\, 20, \男\, \计算机\, courses); students.add(s);
//第二个学生
courses = new ArrayList
c = new Course(\编程\, 80, 70, 50, 55, 60); courses.add(c);
c = new Course(\编程思想\, 95, 77, 80, 66, 88); courses.add(c);
c = new Course(\编程\, 70, 80, 71, 82, 60); courses.add(c);
c = new Course(\数据库\,60,60,55,75,70); courses.add(c);
s = new Student(\, \晓红\, 18, \女\, \计算机\, courses);
students.add(s); //第三个学生信息
courses = new ArrayList
c = new Course(\编程\, 80, 79, 70, 75, 88); courses.add(c);
c = new Course(\编程思想\, 95, 88, 56, 88, 89); courses.add(c);
c = new Course(\编程\, 90, 60, 75, 80, 92); courses.add(c);
c = new Course(\数据库\,93,60,55,86,60); courses.add(c);
s = new Student(\, \海伦\, 20, \女\, \计算机\, courses);
students.add(s);
StudentManage sm = new StudentManage(students); sm.showScoreBySno(\); sm.showStaticsScore(\数据库\); sm.showTotalScore(\编程\); } }
学生管理类:
package com.geminno.day730.homework12;
import java.util.List;
public class StudentManage {//类 private List
public StudentManage(List
super();
this.students = students; }
public void showScoreBySno(String sno){//方法 if(sno == null) return;//如果sno为空,则返回 for(Student s: students){//遍历student集合 if(s.getSno().equals(sno)){//如果得到的学号和自己选的学号相等
List
for(Course c : courses){//遍历course课程集合 System.out.println(c);//输出 }
break;//跳出for循环 } }