我目前正在学习 Java,我对 Python 了解得很好,但我似乎无法让我的 Java 问题以与我的 Python 程序相同的方式工作。这是python程序:
import random as rand
successes = 0
for x in range (1000):
stake = 100
bets = 0
while stake >0 and stake <200:
play = rand.randint(0,1)
bets +=1
if play == 0:
stake = stake -1
else:
stake = stake + 1
if stake == 200:
successes +=1
print ('stake = ', stake, 'bets made =', bets)
print (successes/1000)
print(bets/1000)
当我运行它时,我得到这样的东西:
stake = 0 bets made = 19832
stake = 200 bets made = 5240
stake = 200 bets made = 3156
stake = 0 bets made = 10338
stake = 200 bets made = 11198
stake = 0 bets made = 6150
stake = 200 bets made = 10934
stake = 200 bets made = 11368
stake = 0 bets made = 8724
stake = 0 bets made = 17158
stake = 200 bets made = 6158
stake = 200 bets made = 7690
stake = 200 bets made = 2170
stake = 200 bets made = 12268
stake = 0 bets made = 15878
stake = 200 bets made = 16486
stake = 0 bets made = 6396
0.518
6.396
现在这是我为我的 java 程序所做的事情 我被告知使用 Math.random() 和 Math.Round() 我认为这可能是我遇到问题的地方我不知道把 Math.Round 放在哪里()
public class Gambler {
public static void main(String[] args){
double successes = 0;
for (int i = 0; i <1000;i++){
double stake = 100;
double bets = 0;
while(stake>0 && stake <200){
bets++;
if (Math.random()<0.5) stake ++;
else stake --;
if (stake==200) successes++;
System.out.println("stake = "+ stake + " bets made = " + bets);
}
System.out.println("average successes = " + successes/1000);
System.out.println("average bets = " + bets/1000);
}
}
}
猛跑小猪
相关分类