【发布时间】:2013-03-08 02:23:48
【问题描述】:
我试图在随机生成器中获得 1 或 2 的 50/50 机会。
例如:
Random random = new Random();
int num = random.nextInt(2)+1;
此代码将输出 1 或 2。
假设我循环运行它:
for ( int i = 0; i < 100; i++ ) {
int num = random.nextInt(2)+1 ;
}
在这种情况下,如何使生成器为 1 和 2 生成相等的数字?
所以我希望这个循环生成 50 次数字 1 和 50 次数字 2。
【问题讨论】:
-
正如许多其他人所指出的,我认为您在这里感到困惑:如果您掷硬币 100 次,您的 预期 是 50 次正面。 0 到 100 之间的任何数字都是可能的,但概率不同。我认为你爱上了en.wikipedia.org/wiki/Gambler's_fallacy
-
其实你的期望不应该是 50 头,而是 45 到 55 头之间... :D。只是最有可能出现 50 个正面(发生这种情况的可能性约为 8%)
-
@AntonRoth, no.
标签: java