(一)初始化操作实现
如上图所示当管理员需要更改适用工程、试题数量、考试时间时直接在文本中更改就好我们只需要每次在用户打开程序时初始化这些参数就可以
1.初始化试题模型,这里需要实现随机抽题,方法是用链表来模拟随机抽题
InitQuestionModel
public class InitQuestionModel {
QuestionModel mQuestionModel;
Questions[] questions=null;
String[][] record;//数据库读取的记录
Connection con;
PreparedStatement ppStatement;
PreQuery query;
int mNumber=0;//试题数量
LinkedList<Integer> list;//随机抽题所用链表
String SQL="select * from Question where adaptEngineering = ";
public QuestionModel getQuestionModel(String adaptEngineering,int QuestionNumbers)
{
//获取对应工程下所有试题
SQL=SQL+"'"+adaptEngineering+"'";
query.setDatabaseName("Examination");
query.setSQL(SQL);
query.startQuery();
record=query.getRecord();
//获取全部试题数量
int recordLength=record.length;
//判断试题数量是否足够考试要求数量
if(QuestionNumbers>recordLength)
{
JOptionPane.showMessageDialog(null,"题库试题数量少于要求数量请重新设定考试题数量!","消息对话框", JOptionPane.WARNING_MESSAGE);
return null;
}else {
//使节点数量和总题量相同
for(int i=0;i<recordLength;i++)
{
list.add(i);
}
//随机数
Random random=new Random();
//问题数量与考试要求数量相同
questions=new Questions[QuestionNumbers];
for(int i=0;i<QuestionN