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