📄 examhall.java
字号:
package kaoshi.bean;
import java.util.*;
/**
* @version 2007-12-28
* @author Xiaofei
*/
public class ExamHall {
/*考场有三种状态
*wait
*exam
*over
*被删除返回removed
*/
private int registerTotal = 0;
private int paperTotal = 0;
private HashMap registers = new HashMap();
public ExamHall(){}
public void setRegisterTotal(int i){
this.registerTotal = i;
}
public int getRegisterTotal(){
return this.registerTotal;
}
public void setPaperTotal(int s){
this.paperTotal = s;
}
public int getPaperTotal(){
return this.paperTotal;
}
public Collection getRecords() {
return registers.values();
}
public synchronized boolean register (String sid, String nm, String ip) {
boolean result = false;
Record record = (Record)registers.get(sid);
if (record==null) {
record = new Record();
record.setSid(sid);
record.setNm(nm);
record.setIp(ip);
record.setStatus("wait");
record.setStartTime(new Date());
registers.put(sid, record);
result = true;
registerTotal++;
} else {
//Permit relogin again, but must using the same ip
if (record.getIp().equals(ip)) {
result = true;
}
}
return result;
}
public String getStatus(String sid) {
String s = null;
Record r = (Record)registers.get(sid);
if (r!=null) {
s = r.getStatus();
} else {
s = "removed";
}
return s;
}
public void remove (String sid) {
if (registers.containsKey(sid)) {
Record r = (Record)registers.get(sid);
registerTotal--;
if (r.getStatus().equals("exam")) {
paperTotal--;
}
registers.remove(sid);
}
}
public void permitExam(String sid) {
Record r = (Record)registers.get(sid);
if (r!=null) {
if (!r.getStatus().equals("exam")) {
r.setStatus("exam");
paperTotal++;
}
}
}
public void permitAll() {
Iterator ir = registers.values().iterator();
while (ir.hasNext()) {
Record r = (Record)ir.next();
if ("wait".equals(r.getStatus())) {
r.setStatus("exam");
}
}
paperTotal = registerTotal;
}
public boolean reportResult(String sid, double k) {
boolean result = false;
Record r = (Record)registers.get(sid);
if (r!=null) {
r.setEndTime(new Date());
r.setSelectTypeScore(k);
r.setStatus("over");
result = true;
}
return result;
}
public boolean isValidPaper(String sid, String ip) {
boolean result = false;
Record r = (Record)registers.get(sid);
if ((r!=null)&&(r.getStatus().equals("exam"))&&(r.getIp().equals(ip))) {
result = true;
}
return result;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -