猿问

Java 程序不像 python 程序那样工作,我不知道为什么

我目前正在学习 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);

       }

    }

    }


繁花如伊
浏览 133回答 2
2回答

猛跑小猪

public class Gambler {&nbsp; &nbsp; public static void main(String[] args){&nbsp; &nbsp; &nbsp; &nbsp; double successes = 0;&nbsp; &nbsp; &nbsp; &nbsp; for (int i = 0; i <1000;i++){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; double stake = 100;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; double bets = 0;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; double&nbsp; play = Math.random();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; while(stake>0 && stake <200){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bets++;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (play == 0) stake --;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else stake ++;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (stake==200) successes++;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println("stake = "+ stake + " bets made = " + bets);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; System.out.println("average successes = " + successes/1000);&nbsp; &nbsp; &nbsp; &nbsp; System.out.println("average bets = " + bets/1000);&nbsp; &nbsp; }}
随时随地看视频慕课网APP

相关分类

Java
我要回答