在 Java 中,`java.util.Random` 类是一个用于生成伪随机数的类。它提供了多种方法来生成不同类型的随机数。
下面是使用 `Random` 类的示例代码,包括注释:
import java.util.Random;
public class RandomExample {
public static void main(String[] args) {
// 创建一个 Random 实例
Random random = new Random();
// 生成一个在 [0, 100) 范围内的随机整数,不包含最大值100
int randomInt = random.nextInt(100);
System.out.println("生成的随机整数: " + randomInt);
// 生成一个在 [1, 6] 范围内的随机整数,包含最小值1和最大值6
int diceRoll = random.nextInt(6) + 1; // 使用 nextInt(n) 会得到 [0, n) 的范围,所以这里要加1来包含最小值1
System.out.println("投掷的骰子结果: " + diceRoll);
// 生成一个随机的布尔值(true 或 false)
boolean randomBoolean = random.nextBoolean();
System.out.println("生成的随机布尔值: " + randomBoolean);
// 设置种子来重复相同的随机序列,例如:总是得到相同的骰子结果
long seed = System.currentTimeMillis(); // 使用当前时间作为种子的一部分
Random withSeedRandom = new Random(seed);
int seededRandomInt = withSeedRandom.nextInt(100);
System.out.println("使用种子生成的随机整数: " + seededRandomInt);
}
}
在这个示例中,我们创建了一个 `Random` 的实例并使用它来生成不同类型的随机数。
- `nextInt()` 方法可以接受一个参数,表示上限(但不包括此值),用于生成指定范围内的整数。如果不提供参数,则默认返回一个 `int` 类型范围内的任意整数。
- `nextBoolean()` 方法返回一个随机的布尔值(true 或 false)。
- 通过设置种子(如使用当前时间),可以保证每次程序运行时产生相同的伪随机数序列。这在某些需要可复现性的场景下很有用。
- 注意:`Random` 生成的不是真正的“随机”数,而是“伪”随机数。这些数是通过某种算法产生的,算法根据初始化时提供的种子来计算下一个数的值。因此如果使用相同的种子两次运行程序的话会得到相同的序列。
如果需要生成安全的、不可预测的随机数以用于密码学目的或其他安全相关的应用场景时应该使用 Java 的 `SecureRandom` 类代替 `Random` 类。
标签:JAVA,Random,System,生成,nextInt,随机,随机数 From: https://blog.csdn.net/qa3629723/article/details/141104591