加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 为什么我使用Random Run获得相同的数字?

发布时间:2020-12-15 04:37:09 所属栏目:Java 来源:网络整理
导读:我正在关注一本书并在此代码中: Random rand = new Random(47); int i,j,k; j = rand.nextInt(100) + 1; System.out.println("j : " + j); k = rand.nextInt(100) + 1; System.out.println("k : " + k); 我在本书的输出中有相同的编号,即: j : 59k : 56 如
我正在关注一本书并在此代码中:

Random rand = new Random(47);
    int i,j,k;
    j = rand.nextInt(100) + 1;
    System.out.println("j : " + j);
    k = rand.nextInt(100) + 1;
    System.out.println("k : " + k);

我在本书的输出中有相同的编号,即:

j : 59
k : 56

如果我使用

Random rand = new Random();

没有47随机类产生随机数,它没关系,但为什么如果我把数字47放入加入j = rand.nextInt(100)1;为什么我获得相同的书籍输出?
谢谢

解决方法

从 documentation:

If two instances of Random are created with the same seed,and the same sequence of method calls is made for each,they will generate and return identical sequences of numbers.

您可以在constructor中指定种子

Creates a new random number generator using a single long seed.

也可以看看:
Pseudorandom number generator – Wikipedia

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读