⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exam.java

📁 基础性的JAVA源代码
💻 JAVA
字号:
package exec.day1002.exam;
import java.util.*;
/**
 * Exam类   考试类
 * 属性: 若干学生  一张考卷
 * 提示:学生采用HashSet存放
 * @author new
 */
public class Exam {
	private HashSet students;//若干学生
	private Paper paper;//考卷
	public Exam(Paper paper) {
		students = new HashSet();
		this.paper = paper;
	}
	public void addStudent(Student s){
		students.add(s);
	}
	public Paper getPaper() {
		return paper;
	}
	public HashSet getStudents() {
		return students;
	}
	
	/**
	 * 为所有学生评卷
	 */
	public void judge(){
		if(students!=null){
			//遍历所有学生,找到每一个同学
			for(Object obj:students){
				Student stu = (Student)obj;
				//获取该同学的答卷上的所有试题及答案
				HashMap answersMap = stu.getAnswerSheet().getAnswersMap();
				//获取所有题号的集合
				Set set = answersMap.keySet();
				//对题号遍历
				for(Object o:set){
					String queNum = (String)o;
					//获取该同学对于该题目的答案
					String answer = (String)answersMap.get(o);
					//获取该题号对应的试题对象
					Question q = (Question)stu.getPaper().getQuestionMap().get(queNum);
					//获取该题号对应的正确答案
					String rightAnswer = q.getRightAnswer();
					//校验答案是否正确
					if(answer.equals(rightAnswer)){
						stu.setScore(stu.getScore()+5);
					}
				}
			}
		}
	}
	
	/**
	 * 打印成绩排名
	 */
	public void print(){
		TreeSet set = new TreeSet(students);
		for(Object obj:set){
			Student s = (Student)obj;
			System.out.println(s.getName()+": "+
					s.getScore());
		}
	}
	
}









⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -