一个练习集合的最佳例子!!
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++);
}
}
}