要做一个考试系统:
涉及到生成考卷 每个人考某一门课程的时候生成的试题都不能相同(题目 和 题目的顺序)
大概思路:
从题库你取出所有题目的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 还是需要 经常看的。
分享到:
相关推荐
Python随机数模块(random)使用方法 Python随机数模块(random)是Python中用于生成随机数的模块。该模块提供了多种方法来生成随机数,包括生成指定范围内的随机整数、生成随机浮点数、从序列中随机选取元素、...
在不同的编程语言中,生成随机数的方法有所不同,但核心思想是相同的,即使用某种随机数生成器和分布函数来创建看似随机的数值。了解如何在各种环境中生成随机数是每个程序员必备的基础知识,尤其在涉及模拟、游戏...
### Python Random 模块生成随机数 在Python编程语言中,`random`模块提供了一系列用于生成伪随机数的函数。这些函数广泛应用于多种场景中,包括但不限于模拟、游戏开发、统计抽样等。本文将详细介绍`random`模块中...
这篇文章将深入探讨MATLAB中生成随机数的各种方法,帮助你更好地理解和掌握这一功能。 首先,MATLAB提供了两种基本的随机数生成函数:`rand` 和 `randn`。`rand` 函数用于生成0到1之间的均匀分布随机数,而`randn` ...
在Python编程语言中,生成随机数是一项非常实用的技能,特别是在进行模拟、统计计算或游戏开发等场景。在计算机二级考试中,Python题库经常会出现关于生成随机数的基础操作题目。下面将详细介绍如何在Python中生成...
生成随机数的方法主要有以下几种: 1. **线性同余法**:是最常见的伪随机数生成算法之一,基于数学公式 `(x_{n+1} = (ax_n + c) mod m)`,其中 `a`、`c` 和 `m` 是预先设定的常数,`x_n` 是当前的随机数,`x_0` 是...
在MATLAB中,生成随机数是一项基础且重要的任务,它广泛应用于模拟实验、数据分析、机器学习等多个领域。本文将深入探讨MATLAB中的随机数生成及其在统计分析中的应用。 首先,MATLAB提供了多种函数来生成不同类型的...
### Python内置random模块生成随机数的方法 #### 一、引言 在计算机科学领域,随机数的生成是一项基本且重要的任务。它不仅被广泛应用于密码学、模拟仿真、游戏开发等多个方面,也是进行数据分析和机器学习实验的...
Python中的`random`库是生成随机数的重要工具,尤其在编程和数据分析中有着广泛的应用。这个库提供了多种方法,能够生成不同类型的随机数,包括浮点数、整数以及从序列中选择元素等。 首先,`random.random()`函数...
例1,使用shuffle函数生成随机数。 <?php $arr=range(1,10); shuffle($arr); foreach($arr as $values) { echo $values." "; } ?> 例2,使用array_unique函数生成随机数。 <?php $arr=array(); while...
C++提供了两种不同的方法来生成随机数:C风格的函数和C++11及更高版本引入的标准库设施。 首先,C风格的随机数生成依赖于`<stdlib.h>`中的`rand()`、`srand()`和`RAND_MAX`。`srand()`函数是用来设置随机数生成器的...
为了实现这一目标,本示例提出了一个`unique_rand`函数,该函数内部使用了`mt_rand`生成随机数,并通过一种称为“翻翻法”的技巧来去除数组中的重复值。具体来说,这种方法通过两次使用`array_flip()`函数交换数组的...
之前自己一直使用random中 randint生成随机数以及使用for将列表中的数据遍历一次。 现在有个需求需要将列表的次序打乱,或者也可以这样理解: 【需求】将一个容器中的数据每次随机逐个遍历一遍。 random.shuffle...
本篇文章将深入探讨随机数生成的原理和方法,以及如何在实际编程中应用这些知识。 首先,我们要理解随机数的基本概念。随机数是指在一定范围内无规律、不可预测的数值。在计算机科学中,由于计算过程是确定性的,...
另一种方法是使用`Collections.shuffle()`,先创建一个包含0到最大值的列表,然后随机打乱这个列表,取前10个元素即可。这种方法适用于需要生成的随机数数量不大于可用范围的情况: ```java import java.util....
此方法通过 `str_shuffle()` 函数将包含所有可能字符的字符串打乱,然后使用 `substr()` 截取前六位作为随机字符串。这种方式确保了每次生成的字符串都是不同的。 5. **生成验证码**: 使用 `rand()` 函数可以...
在PHP编程中,生成随机数是一项常见的任务,用于模拟不确定性、创建唯一标识或者构建安全的密码等场景。本文将总结几种在PHP中...在生成随机数时,考虑到安全性、效率和随机性,通常推荐使用 `mt_rand()` 或其变体。
首先,Python的`random`模块提供了多种生成随机数的方法: 1. `random.randint(a, b)`:生成一个在`a`和`b`之间(包括`a`和`b`)的随机整数。 2. `random.random()`:返回一个0到1之间的浮点数,其中0包括在内,但1...
在Python这种常用的编程语言中,我们可以使用内置的`random`模块来生成随机数。例如,`random.randint(a, b)`函数可以生成a和b之间(包括a和b)的一个整数,而`random.random()`则会返回0到1之间(不包括1)的一个...