【发布时间】:2015-08-15 05:47:56
【问题描述】:
我制作了一个非常简单的正面或反面随机生成器。
玩 100 次时,结果总是在最大 60/40 的关系上下波动。换句话说:我从来没有得到 35 - 65 甚至 25 - 75 的结果。
我发现有点了不起的是,我相对经常得到 50/50 的结果。
这是什么原因?
这是我的主要课程(名为“play”的方法):
package headsOrTails;
public class App {
public static void main(String[] args) {
HeadsOrTails headsOrTails = new HeadsOrTails(100);
headsOrTails.play();
System.out.println(headsOrTails.getTotalHeads());
System.out.println(headsOrTails.getTotalTails());
}
}
生成随机数的我的 HeadsOrTails 类:
package headsOrTails;
import java.util.Random;
public class HeadsOrTails {
private int nrOfThrows;
private int totalTails; //0
private int totalHeads; //1
//Constructor
public HeadsOrTails(int nrOfThrows){
this.nrOfThrows = nrOfThrows;
}
public int getTotalTails(){
return this.totalTails;
}
public int getTotalHeads(){
return this.totalHeads;
}
public void play(){
for (int i = 0; i < this.nrOfThrows; i++) {
Random random = new Random();
int rnd = random.nextInt(2);
if(rnd == 0){
this.totalTails++;
} else {
this.totalHeads++;
}
}
}
}
【问题讨论】:
-
你真的应该看看probability是什么。
-
由于大多数人不是荷兰人,我认为将变量和方法名称替换为英文名称更有意义。
-
“我觉得有点不寻常的是,我相对经常得到 50/50 的结果。”请解释您的预期以及为什么您觉得这很了不起。随机数生成器的目标不是公平(如果没有另行指示)吗?除非你的意思是你对它的效果感到惊讶..
-
看:如果你只画一次,你将获得 100% 的相同值的抽奖。这不是更了不起吗?
-
我怀疑我的方法是否正确,但我现在看到,你玩的越多,你越有可能达到 50。对概率学了解不多,我会研究一下。跨度>