1
import java.util.Random;
import java.util.Scanner;
public class javascript {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Random rand = new Random();
int door1 = 0;
int door2 = 0;
int door3 = 0;
int gdoor1 = 0;
int gdoor2 = 0;
int gdoor3 = 0;
int cdoor = 0;
door1 = rand.nextInt(3)+1;
door2 = rand.nextInt(3)+1;
door3 = rand.nextInt(3)+1;
if (door1 == door2 || door1 == door3){
door1 = rand.nextInt(3)+1;
}
if (door2 == door1 || door2 == door3){
door2 = rand.nextInt(3)+1;
}
if (door3 == door1 || door3 == door2){
door3 = rand.nextInt(3)+1;
}
System.out.println("Choose A Door");
System.out.println(" _____ _____ _____ ");
System.out.println("| | | | | |");
System.out.println("| 1 | | 2 | | 3 |");
System.out.println("| | | | | |");
System.out.println("| | | | | |");
System.out.println("|_____| |_____| |_____|");
System.out.println("\n");
int yourdoor = scan.nextInt();
System.out.println("Your Door: "+yourdoor);
if (door1 == 1 || door1 == 2){
door1 = gdoor1;}
if (door2 == 1 || door1 == 2){
door2 = gdoor2;}
if (door3 == 1 || door1 == 2){
door3 = gdoor3;}
if(door1 == 3){
door1 = cdoor;}
if(door2 == 3){
door2 = cdoor;}
if(door3 == 3){
door3 = cdoor;}
System.out.println("Value = "+cdoor);
}
}
我正在製作蒙蒂廳遊戲節目。我是新來的,我只是想知道爲什麼最後打印出來的時候,爲什麼總是打印出0.我想打印出值3,因爲我認爲他們會等於 - This Part試圖讓價值觀等於
if(door1 == 3){
door1 = cdoor;}
if(door2 == 3){
door2 = cdoor;}
if(door3 == 3){
door3 = cdoor;}
哦哇感謝:)現在我覺得啞巴。 –
我有另一個問題...當我隨機化的門1,門2和門3的值我不斷重複數字,所以我把那些如果在那裏重新隨機化他們,但它沒有奏效。任何建議@Flying_Banana –
因爲你再次隨機化,並且由於新值可以是1-3之間的任何值,所以你有33%的機會獲得相同的值。相反,你應該在1-3之間隨機選擇,然後在1-2之間隨機選擇(或者1 3或2 3,這取決於第一個門的號碼是什麼),最後門將會有剩餘數字。 –