上篇写了用Random实现简单抽***奖,这回也用Random实现随机抽题。
思路:
1、将题库中符合条件的题目的题目序号查询出来放到一个list集合中。
2、根据list的size获取0-size之间的随机数,如此便可保证第三步中不会出现下标越界的情况。
3、从list中获取下标为随机数的题目序号。
可能存在的问题:判断随机数是否重复
以下为实现过程和代码:
public class TestRandom2 {
public static void main(String[] args) {
//生成100到题目进行简单测试
List list = new ArrayList();
for(int i=0;i<100;i++){
list.add(i+1);//以(i+1)的值作为题目序号
}
String ids = getExamIDs(list,20);//从100道题目中抽20道
System.out.println("随机抽取的题目序号为:"+ids);
//output:随机抽取的题目序号为:51,13,64,11,78,61,66,67,81,21,16,86,24,25,69,12,72,28,1,37
}
/**
* 该方法用来获取抽取题目的序号
* @param list:指定的题目集合
* @param count:抽题数量
* @return String字符串,以逗号隔开
* **/
public static String getExamIDs(List list