要做一个考试系统:
涉及到生成考卷 每个人考某一门课程的时候生成的试题都不能相同(题目 和 题目的顺序)
大概思路:
从题库你取出所有题目的ID 把它放到一个list中 打乱顺序,每次都从list中取前20个记录作为题目
这就涉及到一个 怎么去打乱一个list的顺序,找了半天终于 在API 中看到 了一个 shuffle方法
public class TestShuffle {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < 10; i++)
list.add(new Integer(i));
System.out.println("初始数据:");
System.out.println(list);
for (int j = 1; j < 10; j++) {
System.out.println("第" + j + "次打乱:");
Collections.shuffle(list);
System.out.println(list);
}
}
}
初始数据:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
第1次打乱:
[3, 7, 0, 1, 9, 2, 4, 5, 8, 6]
第2次打乱:
[5, 8, 1, 2, 6, 9, 7, 3, 0, 4]
第3次打乱:
[0, 7, 5, 6, 4, 1, 3, 8, 9, 2]
第4次打乱:
[1, 3, 2, 7, 9, 8, 6, 5, 0, 4]
第5次打乱:
[8, 7, 1, 2, 6, 4, 9, 5, 3, 0]
第6次打乱:
[6, 3, 7, 1, 0, 8, 2, 9, 4, 5]
第7次打乱:
[8, 5, 9, 0, 3, 1, 7, 4, 2, 6]
第8次打乱:
[9, 7, 3, 2, 4, 5, 8, 0, 1, 6]
第9次打乱:
[8, 7, 6, 0, 4, 5, 9, 1, 2, 3]
问题解决了。
结论:看来API 还是需要 经常看的。