Java 双掷硬币

Java 双掷硬币,java,random,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

如果我们不得不掷两枚硬币。
我们需要两个随机变量吗

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次,然后我们必须检查出现了多少尾或头。

当然,一个例子是完全正确的。此外,要使其恒定

private final static Random gen = new Random();

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

使用一个实例仍然可以使结果独立。
Random
对象输出指定范围内的随机数流,并且生成的数不受先前生成的数的影响

用户可以这样说,创建两个实例:

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


你的问题不是很清楚,你能详细说明一下你在这里要解决的家庭作业问题吗?举一个例子。如果需要使用种子值的可重复序列,则只应创建单独的实例。相关:你可以一次抛两枚硬币或两次抛一枚硬币。这两种结果都是随机的。
java.util.random()
对于许多目的来说都足够好,但不是全部。有了足够的观测输出,可以恢复初始种子,然后可以预测所有未来的输出。所以它是否足够好取决于它的用途。如果你在湖中模拟鱼的繁殖,那可能没问题。如果您正在为彩票生成号码,这可能不好。
static final
!=constant你是什么意思?术语“常量”通常意味着深度不变性。JLS有一个偶数。您的示例不适合这两种用法。