请用Java完成“三门问题”。
时间: 2023-02-06 20:36:48 浏览: 147
Java 模拟三门问题
这是“三门问题”的题意:你站在一个房间的三扇门前,其中一扇门后有一辆轿车,另外两扇门后各有一头公牛。你先随机选择一扇门,然后主持人会打开另外一扇门,向你展示其后有一头公牛。你有一次机会改变你的选择,问你最后选择哪扇门,可以获得轿车的概率最大?
下面是用 Java 实现的代码:
```
import java.util.Random;
public class ThreeDoors {
public static void main(String[] args) {
int n = 10000; // 模拟次数
int count = 0; // 选择正确门的次数
Random rand = new Random();
for (int i = 0; i < n; i++) {
// 随机选择一扇门
int choice = rand.nextInt(3);
// 主持人打开一扇没有轿车的门
int openedDoor = rand.nextInt(3);
while (openedDoor == choice || openedDoor == 2) {
openedDoor = rand.nextInt(3);
}
// 改变选择
choice = 3 - choice - openedDoor;
// 统计结果
if (choice == 2) {
count++;
}
}
// 输出结果
System.out.println("选择正确门的概率:" + (double) count / n);
}
}
```
该程序模拟了“三门问题”的过程,并输出了选择正确门的概率。你可以通过改变 `n` 的值来调整模拟的次数。
阅读全文