gpt4 book ai didi

java - 计算掷骰子游戏中 10,000 次模拟的获胜概率(赢/(赢 + 输))。这是作业的一部分

转载 作者:行者123 更新时间:2023-12-01 09:10:17 28 4
gpt4 key购买 nike

使用掷骰子游戏中的 10,000 次模拟来计算获胜概率 (wins/(wins + Loss))。下面是双骰子游戏的方法:

public class CrapsGame {

public static void main(String[] args) {
int dice1 = (int)(Math.random()* 6) + 1;
int dice2 = (int)(Math.random()* 6) + 1;
int roll = dice1 + dice2;
System.out.println();
System.out.print("You rolled "+roll+". ");
if(roll == 2 || roll == 3 || roll == 12){
System.out.println("You Lose !");
}else if(roll == 7 || roll == 11){
System.out.println("You Win !");
}else{
System.out.println("Point is "+roll+"\n");
dice1 = (int)(Math.random()* 6) + 1;
dice2 = (int)(Math.random()* 6) + 1;
int roll2 = dice1 + dice2;
System.out.print("You rolled "+roll2+". ");
while(roll2 != 7){
if(roll == roll2){
System.out.println("You Win !");
break;
}else{
System.out.println("Point is "+roll+"\n");
}
dice1 = (int)(Math.random()* 6) + 1;
dice2 = (int)(Math.random()* 6) + 1;
roll2 = dice1 + dice2;
System.out.print("You rolled "+roll2+". ");
}
if(roll2 == 7){
System.out.println("You Lose !");
}
}
}
}

我认为这应该不难,我只需要代码来运行 10,000 次模拟,然后计算概率。谢谢:)

是否可以让某人插入此内容的工作版本

在逻辑之外放置一个 while 或 for 循环并创建 2 个计数器(timesWinning、timesLosing)。根据现有代码内的情况递增每个值。循环运行 10.000 次后,根据需要进行数学计算:wins/(wins + Loss)

谢谢,这是作业的一部分

最佳答案

最后你应该将他的代码修改为:

 System.out.println("Probability of winning: " +  ((double)timesWon/(timesWon + timesLost)));

这是我自己的结果:

您玩了:10000.0,赢了:5078,赢了的概率:0.5078

您玩过:1.0E8,获胜:50707214,获胜概率:0.50707214

关于java - 计算掷骰子游戏中 10,000 次模拟的获胜概率(赢/(赢 + 输))。这是作业的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40956084/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com