/*某中学有若干学生(学生对象放在一个List中),
* 每个学生有一个姓名属性、班级属性和考试成绩属性(int),
* 某次考试结束后,每个学生都获得了一个考试成绩。请打印出每个班级的总分和平均分。
*/
Student类
1 public class Student 2 { 3 private String name; //学生姓名 4 private Team team; //学生所在班级 5 private int score; //学生成绩 6 public Student(String name,int score) 7 { 8 this.setName(name); 9 this.setScore(score); 10 } 11 public String getName() 12 { 13 return name; 14 } 15 public void setName(String name) 16 { 17 this.name = name; 18 } 19 public int getScore() 20 { 21 return score; 22 } 23 public void setScore(int score) 24 { 25 this.score = score; 26 } 27 public Team getTeam() 28 { 29 return team; 30 } 31 public void setTeam(Team team) 32 { 33 this.team = team; 34 } 35 36 public String toString() //覆写toString方法 37 { 38 return "\t|-姓名:"+this.name +";成绩:"+this.score; 39 } 40 }
Team类
1 import java.util.ArrayList; 2 import java.util.Iterator; 3 import java.util.List; 4 5 6 public class Team 7 { 8 private String name; //班级名称 9 private List<Student> list; //学生list(一个班级里有很多学生) 10 11 public Team() 12 { 13 this.list = new ArrayList<Student>(); 14 } 15 16 public Team(String name) 17 { 18 this(); 19 this.setName(name); 20 } 21 22 public String getName() 23 { 24 return name; 25 } 26 27 public void setName(String name) 28 { 29 this.name = name; 30 } 31 32 public List<Student> getList() 33 { 34 return list; 35 } 36 37 public void setList(List<Student> list) 38 { 39 this.list = list; 40 } 41 public String toString() 42 { 43 return "班级名称"+this.name; 44 } 45 46 public double sum() 47 { 48 Iterator<Student> iter =list.iterator(); 49 double sum = 0; 50 while(iter.hasNext()) 51 { 52 Student s = iter.next(); 53 sum += s.getScore(); 54 } 55 56 return sum; 57 } 58 59 public double average() 60 { 61 return this.sum()/list.size(); 62 } 63 }
1 import java.util.Iterator; 2 3 4 public class Test 5 { 6 public static void main(String[] args) 7 { 8 Student s1 = new Student("张三",46); 9 Student s2 = new Student("李四",98); 10 Student s3 = new Student("王五",47); 11 Student s4 = new Student("任六",87); 12 Student s5 = new Student("黑七",45); 13 Student s6 = new Student("赵四",87); 14 Student s7 = new Student("孙九",95); 15 Student s8 = new Student("钱七",76); 16 17 Team t1 = new Team("一班"); 18 Team t2 = new Team("二班"); 19 20 t1.getList().add(s1); 21 t1.getList().add(s2); 22 t1.getList().add(s6); 23 t1.getList().add(s8); 24 25 t2.getList().add(s3); 26 t2.getList().add(s4); 27 t2.getList().add(s5); 28 t2.getList().add(s7); 29 30 s1.setTeam(t1); 31 s2.setTeam(t1); 32 s6.setTeam(t1); 33 s8.setTeam(t1); 34 35 s3.setTeam(t2); 36 s4.setTeam(t2); 37 s5.setTeam(t2); 38 s7.setTeam(t2); 39 40 System.out.println(t1); 41 Iterator<Student> iter1 = t1.getList().iterator(); 42 while(iter1.hasNext()) 43 { 44 Student s = iter1.next(); 45 System.out.println(s); 46 } 47 48 System.out.println("总成绩为:"+t1.sum()+",平均成绩为:"+t1.average()); 49 System.out.println("--------------------------------"); 50 51 System.out.println(t2); 52 Iterator<Student> iter2 = t2.getList().iterator(); 53 while(iter2.hasNext()) 54 { 55 Student s = iter2.next(); 56 System.out.println(s); 57 } 58 59 System.out.println("总成绩为:"+t2.sum()+",平均成绩为:"+t2.average()); 60 System.out.println("--------------------------------"); 61 62 } 63 }
班级名称一班
|-姓名:张三;成绩:46
|-姓名:李四;成绩:98
|-姓名:赵四;成绩:87
|-姓名:钱七;成绩:76
总成绩为:307.0,平均成绩为:76.75
--------------------------------
班级名称二班
|-姓名:王五;成绩:47
|-姓名:任六;成绩:87
|-姓名:黑七;成绩:45
|-姓名:孙九;成绩:95
总成绩为:274.0,平均成绩为:68.5
--------------------------------