gpt4 book ai didi

java - 通过这种方式我会得到更好的随机性吗?

转载 作者:行者123 更新时间:2023-12-02 12:09:02 25 4
gpt4 key购买 nike

如果我使用这样的解决方案,我会得到更好的随机数质量吗?

import java.util.*;

public class Main {
private static final Random PRNGs[] = new Random[137];

private static int nextInt() {
return PRNGs[ (int)(System.currentTimeMillis() % PRNGs.length) ].nextInt();
}

static {
for(int i=0; i<PRNGs.length; i++) {
PRNGs[i] = new Random();
}
}

public static void main(String[] args) {
System.out.println( nextInt() );
}
}

我们知道,在现实生活中,轮盘赌上可能出现 12 次红色(或黑色)。如果使用 Random 对象的一个​​实例,则无法实现 12 次相同颜色的事件。

最佳答案

不,您不会获得更好的随机性。如果您想使用随机值,请查看 SecureRandom用于加密。 Random 是相当可预测的,而 SecureRandom 则不然(这就是区别)。

“真实”随机数需要硬件支持,据我所知,在 Java 中不容易获得。

至于“连续 12 次红色”:机会非常渺茫(假设红色或黑色的机会为 50/50):1/0.5^12(4096 中的 1)次尝试将为您提供 12 次红色一行。

关于java - 通过这种方式我会得到更好的随机性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46684087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com