这几天做了一个在线考试系统,下面是数据表。
大概思路:就是根据学生选择的老师和科目 —— 得到那个老师对于这个科目的题型设置 ——然后根据题型设置取到对应科目的题集——再随机选出老师设置对应题目类型的个数的题——把随机选出的题显示给学生答题——因为涉及到一个学生只有一次考试资格,所以设置了学生第一次取到题后刷新不能继续随机抽取试题,所以需要把第一次抽取出来的试题显示出来。
遇到了点问题,下面是自己的解决办法
1.关于随机抽取试题,抽出的试题需要包括本科目的所有章节。我想到了三个解决办法,但是采取的是最后一种方法。这算得上一个思考过程吧!
第一种方法:
①获取到老师对科目设置的题目类型,每个题目类型的个数count
②然后计算此科目的章节数n,获取章节Id
③然后根据count/n 得到每个章节平均需要取出的题目个数,count%n 得到余下的题目数
④遍历章节id, 通过章节id得到这个章节的总题集,然后设置随机数的范围为总题集数之类,然后通过随机数获取问题,装进集合。这里又涉及到随机数重复问题,所以需要设置问题的equals 方法,如果包含就重新获取随机数,知道本集合的题目数目达到老师设置的题目数目
第二种方法&