List list = getAllOption();//获取所有的选择题
int[] arr = createArr()//产生一个随机数组,数组中所有的值在0-list.size()之间
List data = new ArrazyList();//存放组卷的试题
for(int index:arr){
data.add(list.get(index));
}
解决方案 »
- debug启动tomcat抛出NoSuchMethodException?
- 如何把数据导出成excel或者其他格式文件
- 紧急求救....关于数据库中的数据自动删除的问题
- 如果在网页上实现树状的结构,大家有没有实例代码可以给小弟参考一下!
- jsp 中用IE打开WORD和EXCEL文件
- 视频直播 在线播放方面设计解决方案
- preparedStatement("xxx ?, ?, ?") setInt(1,var1) setInt(2,var1) setInt(3,var1) 也就是他们都是一个值, 请问怎么优化阿?
- 超连接问题。
- 在JSP中,怎样将数字型转化成字符型?急!急!急!主要是想把下拉菜单中的时间合并成BIGINT类型
- 网站域名绑定
- spring定时配置
- window.opener IE可以运行chrome报错 undefine
1.你组卷的题目类型,比如选择题、判断题、简单题,每一个类型都要定义一个集合,因为每种类型的题目数量的固定的嘛,你得到数据之后,把数据分别放到各自的集合,然后随机排序之后,再把数据放到页面显示。
2.你后台大致应是这样,通过这种SQL语句:select * from 题目 where 题目类型=xxx分别得到所有类型下的题目的数据,分类放到不同的List集合。
3.因为你卷子上每种类型题目的数量是固定的,比如选择题5道,判断题10道,简答题5道,这样没关系,简单一些来做,你选分别随机排序你的集合,然后循环取固定前几条就OK,不知道你明白没,举个栗子:List chooseQuestionsResult=...(调用你的service得到数据);
List chooseQuestions=new ArrayList(); //定义一个空集合用于存放你指定数量的题目
Collections.shuffle(chooseQuestionsResult); // 这个方法会对你的List集合的数据进行随机排序
for(int i=0;i<5;i++){ //这里就是说比如你选择题规定只有5道,你就从随机排序后的集合取5个
chooseQuestions.add(chooseQuestionsResult.get(i)); //取出来放到上面定义的容器集合
}然后数据就OK了,往页面上放就是了。这是一个简单版的思路,仅供参考。