首页 > Java > java教程 > 为什么我在 Java 中的随机数看起来每次都是一样的?

为什么我在 Java 中的随机数看起来每次都是一样的?

Patricia Arquette
发布: 2024-11-09 13:41:02
原创
972 人浏览过

Why Do My Random Numbers in Java Seem to Be the Same Every Time?

在 Java 中使用种子理解随机数

在 Java 中,种子用于初始化 Random 实例并生成伪随机数序列。当提供相同的种子时,Random 实例会生成相同的数字序列。

为什么我的随机数每次都相同?

在提供的代码中:

double num = generator.nextDouble() * (0.5);
登录后复制

每次调用 randomGenerator 使用相同的种子,从而产生相同的随机序列

如何修复

要使用种子生成不同的随机数序列:

  1. 使用不同的种子: 每次调用 randomGenerator 时,提供不同的种子作为 Random 构造函数的参数。这将创建多个 Random 实例,每个实例都有一个唯一的种子。
  2. 使用默认种子:如果您想在多个调用中使用相同的种子,请在外部初始化一个 Random 实例。具有零参数构造函数的 randomGenerator 方法,该方法使用当前时间作为

示例:

private Random generator = new Random(); // outside randomGenerator
double randomGenerator() {
    return generator.nextDouble() * (0.5); // inside randomGenerator
}
登录后复制

伪随机数生成

伪随机数生成器 (PRNG) 生成看似随机但实际上是随机的序列是确定性的并且具有初始值。当使用相同的种子时,PRNG 会产生相同的序列。

以上是为什么我在 Java 中的随机数看起来每次都是一样的?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板