0

有人能解释清楚吗?我在这里粘贴相关的 Java 代码。我在想试验和赌注的数量是一样的。

public class Gambler { 

    public static void main(String[] args) {
        int stake = Integer.parseInt(args[0]);    // gambler's stating bankroll
        int goal  = Integer.parseInt(args[1]);    // gambler's desired bankroll
        int T     = Integer.parseInt(args[2]);    // number of trials to perform

        int bets = 0;        // total number of bets made
        int wins = 0;        // total number of games won

        // repeat T times
        for (int t = 0; t < T; t++) {

            // do one gambler's ruin simulation
            int cash = stake;
            while (cash > 0 && cash < goal) {
                bets++;
                if (Math.random() < 0.5) cash++;     // win $1
                else                     cash--;     // lose $1
            }
            if (cash == goal) wins++;                // did gambler go achieve desired goal?
        }

        // print results
        System.out.println(wins + " wins of " + T);
        System.out.println("Percent of games won = " + 100.0 * wins / T);
        System.out.println("Avg # bets           = " + 1.0 * bets / T);
    }

}
4

1 回答 1

1

在您的代码示例中,该程序正在运行一个赌博游戏。当玩家达到一定数量的金钱(“目标”变量)或零时,游戏结束。该程序会跟踪投注金额,直到资金枯竭或达到目标。那是变量“赌注”或赌注数量。

游戏重复几次,用变量 T(试验次数)表示。在每次试验期间,该程序会跟踪总投注额(跨试验)。

最后,程序会计算平均投注额。即在玩了这个游戏 x 次之后,平均每场游戏需要这么多的赌注。

于 2015-10-04T02:33:14.257 回答