一个练习集合的最佳例子!!(1)

来源:互联网 发布:美俄关系 知乎 编辑:程序博客网 时间:2024/04/29 16:23

一个练习集合的最佳例子!!

Exam类 考试类
属性: 若干学生 一张考卷
提示,学生用hashset存放

paper类,考卷类
属性,若干试题
提示,试题采用Hashset,key 为string,表示题号,value为试题对像

student类,学生类
属性,姓名, 一张答卷,一张考卷

question类,试题类
属性,题号,题目描述,若干选项,正确答案
提示,若干选项用arraylist

answersheet类.答卷类
属性:每道题的答案
提示: 答卷中每道题的答案用hashmap 存放,key为string,表示题号
value为学生的答案

问题:为exam类添加一个方法,用来为所有学生判卷,并打印成绩排名(名次,姓名)

 Exam类

package jiangqh.exam.entity;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;

public class Exam {
 private Set<Student> stus=new HashSet<Student>();
 private Paper paper;
 public Paper getPaper() {
  return paper;
 }
 public Set<Student> getStus() {
  return stus;
 }
 public void setPaper(Paper paper) {
  this.paper = paper;
 }
 public void setStus(Set<Student> stus) {
  this.stus = stus;
 }
 public void judge(){
  TreeSet<Student> ts=new TreeSet<Student>();
  Iterator<Student> it=stus.iterator();
  while(it.hasNext()){
   Student stu=it.next();
   stu.initMark();
   ts.add(stu);
  }
  System.out.println("姓名    成绩    排名");
  it = ts.iterator();
  int mingci=1;
  while(it.hasNext()){
   Student stu=it.next();
   System.out.print(stu);
   System.out.println("/t"+mingci++);
  }

 }
}