📄 kaoshi.java
字号:
package com.lili.exam.action;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
import java.util.Set;
import org.apache.struts2.ServletActionContext;
import com.lili.common.exception.ExamException;
import com.lili.exam.pojo.CChoice;
import com.lili.exam.pojo.SelectOne;
import com.lili.exam.pojo.Subject;
import com.lili.exam.service.ExamService;
import com.lili.exam.service.ExamServiceImpl;
import com.lili.exam.util.BeanFactory;
import com.opensymphony.xwork2.ActionSupport;
public class Kaoshi extends ActionSupport {
public String execute() {
List<SelectOne> slist = new ArrayList<SelectOne>();
List<CChoice> clist = new ArrayList<CChoice>();
ExamService service = (ExamServiceImpl) BeanFactory
.getBean("examService");
Subject subject = null;
subject = (Subject) ServletActionContext.getServletContext()
.getAttribute("name");
if (subject == null) {
ServletActionContext.getRequest().setAttribute("message",
"对不起,不能考试,请老师设置考试科目信息!");
return "error";
}
if (subject.getState() == 0) {
ServletActionContext.getRequest().setAttribute("message",
"对不起,不能考试,请与老师联系!");
return "error";
}
try {
int choiceOneNum = service.getChoiceNum(subject);
int selectOneNum = service.getSelectOneNum(subject);
if (selectOneNum < 30 || choiceOneNum < 20) {
ServletActionContext.getRequest().setAttribute("message",
"对不起,不能考试,选择题数目小于30 或 判断题数目小于20!");
return "error";
}
System.out.println(selectOneNum+" :=========: "+choiceOneNum);
//选择题数目设置为20道,并且随机从不大于题库中的数目中添加考题编号
int[] s = new int[20];
int size = 1;
point: while (true) {
int b = (int) (Math.random() * selectOneNum + 1);
for (int i = 0; i < size; i++) {
if (b == s[i]) {
continue point;
}
}
s[size - 1] = b;
if (size == 20) {
break;
}
size++;
}
//添加选择题 考题
for(int aa : s){
System.out.print(aa+" : " );
SelectOne selectOne = service.getSelectOne(aa);
slist.add(selectOne);
System.out.println(" : "+selectOne.getAnswer());
}
int[] a = new int[10];
int size2 = 1;
point2: while (true) {
int b = (int) (Math.random() * choiceOneNum + 1);
for (int i = 0; i < size2; i++) {
if (b == a[i]) {
continue point2;
}
}
a[size2 - 1] = b;
if (size2 == 10) {
break;
}
size2++;
}
//添加判断题 考题
for(int bb : a) {
System.out.print(bb+" : ");
CChoice choice = service.getChoice(bb);
clist.add(choice);
System.out.println(" : "+choice.getAnswer());
}
ServletActionContext.getRequest().setAttribute("slist", slist);
ServletActionContext.getRequest().setAttribute("clist", clist);
ServletActionContext.getRequest().setAttribute("subject", subject);
String time = (String)ServletActionContext.getServletContext().getAttribute("time");
System.out.println("考试时间 :"+time);
if(time == null){
time = "100";
ServletActionContext.getRequest().setAttribute("time", time);
}else
ServletActionContext.getRequest().setAttribute("time", time);
return SUCCESS;
} catch (ExamException e) {
e.getMessage();
e.printStackTrace();
}
return null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -