У меня возникли проблемы с пониманием следующего результата.
Я хочу знать, правильный ли следующий код. Это ставит меня в тупик - но это могло произойти из-за того, что я неправильно понял вероятную вероятность.
Код должен говорить сам за себя, но для прояснения симуляции «реального мира» необходимо 2 человека, подбрасывающих монету. Когда вы проигрываете, вы платите 1 доллар, когда вы выигрываете, вы выигрываете доллар. Четная игра!
private static Random rnd = new Random();
public static void main(String[] args) {
int i=0;
for (int x = 0; x<1000000; x++) {
if (rnd.nextBoolean()) i+=1;
else i-=1;
}
System.out.println(i);
}
Когда я запускаю это, я получаю огромные колебания! Хотя я ожидаю, что большая выборка, подобная этой, будет сходиться к 0, я вижу + -4000
Мало того, что увеличение размера выборки, кажется, только увеличивает колебания.
Я неправильно использую случайную функцию? : P