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

📄 copyofkaoshi.java

📁 struts在线考试系统. 自己还没看
💻 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 CopyOfKaoshi 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);
			
			/*Set<Integer> sset = new HashSet<Integer>();
			Set<Integer> cset = new HashSet<Integer>();
			
			while(sset.size()<20){//选择题数目设置为20道,并且随机从不大于题库中的数目中添加考题编号
				Random ran = new Random();
				int temp = ran.nextInt(selectOneNum+1);
				System.out.println(temp+" : ");
				sset.add(temp);
			}
			while(cset.size()<10){//判断数目设置为10道
				Random ran = new Random();
				int temp = ran.nextInt(choiceOneNum+1);
				System.out.println(temp+" : ");
				sset.add(temp);
			}*/
			
			//选择题数目设置为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());
			}
			
			//添加考题
			/*for(Iterator  it = sset.iterator();it.hasNext();){
				int num = (Integer)it.next();
				SelectOne selectOne = service.getSelectOne(num);
				slist.add(selectOne);
System.out.println(" : "+selectOne.getAnswer());
			}
			for(Iterator it = cset.iterator();it.hasNext();){
				int num = (Integer)it.next();
				CChoice choice = service.getChoice(num);
				clist.add(choice);
System.out.println(" : "+choice.getAnswer());
			}*/
			
			ServletActionContext.getRequest().setAttribute("slist", slist);
			ServletActionContext.getRequest().setAttribute("clist", clist);
			
			return SUCCESS;
			
			
		} catch (ExamException e) {
			e.getMessage();
			e.printStackTrace();
		}

		return null;
	}

}

⌨️ 快捷键说明

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