j2ee网上考试系统如何实现从sql数据库题库中随机抽题算法

我是个新手不太会这个!能帮忙写下源代码吗?

用产生随机数[Random]的方式来抽题。假设题库中有1000道题,每次抽100道。
首先利用random不停地循环 产生1~1000之间的整数,并将该数据放到集合[Set]中,因集合元素唯一,所以相同的数字仅取一次,当集合的大小为100时,跳出循环。然后以集合中的这些数字作为题号向数据库中查询取题。

--------------------------------------------------
/**
* 产生 1~1000 之间的随机整数
*
* @return 随机数
*/
public Integer numFactory() {
return new Random().nextInt(1000) + 1;
}

/**
* 随机产生 100 个题号[放入集合、互异性]
*
* @return 集合
*/
public Set<Integer> initNO() {
Set<Integer> set = new HashSet<Integer>();
while (true) {
set.add(numFactory());
// 当集合元素个数为100时跳出循环
if (set.size() > 100) {
break;
}
}
return set;
}

/**
* 将集合转换为数组
*
* @param set
* 需要转换的集合
* @return 目标数组
*/
public Integer[] convert(Set<Integer> set) {
Object obj[] = set.toArray();
int len = obj.length;
Integer integer[] = new Integer[len];
for (int i = 0; i < obj.length; i++) {
integer[i] = (Integer) obj[i];
}
return integer;
}
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网