双币折腾

时间:2018-05-24 18:33:32

标签: java random

如果我们要扔两枚硬币 我们需要两个随机变量

Random gen1 = new Random();
Random gen2 = new Random();
int firstCoinToss = gen1.nextInt(2);
int secondCoinToss = gen2.nextInt(2);

或者我可以使用一个

执行此操作
Random gen1 = new Random();
int firstCoinToss = gen1.nextInt(2);
int secondCoinToss = gen1.nextInt(2);

我很困惑,因为我们使用两个硬币,折腾应该是独立的 因此,如果我们使用它可以如何独立。
如果我们必须使用一个实例,那么何时需要两个实例?

[编辑:] - >这两枚硬币应该被扔100次然后我们必须检查发生了多少尾巴或头部。

2 个答案:

答案 0 :(得分:4)

使用一个实例仍然会让结果独立。 function main(string... args) { xml a = xml `<test>myval</test>`; io:println(a); log:printInfo(a); } 对象输出指定范围内的随机数流,生成的数字不受生成的先前数字的影响。

docs说这是关于创建两个实例:

  

如果使用相同的种子创建了两个Random实例,并且为每个实例创建了相同的方法调用序列,则它们将生成并返回相同的数字序列。

答案 1 :(得分:-2)

当然有一个例子非常好。而且,让它保持不变

private final static Random gen = new Random();

int firstCoinToss = gen.nextInt(2);
int secondCoinToss = gen.nextInt(2);