日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

小猿圈分享使用Java模拟三道门的游戏

發(fā)布時間:2024/9/21 java 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小猿圈分享使用Java模拟三道门的游戏 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

美國以前有一個綜藝節(jié)目。參賽者會看見三扇關閉了的門,其中一扇的后面有一輛汽車,選中后面有車的那扇門可贏得該汽車,另外兩扇門后面則各藏有一只山羊。當參賽者選定了一扇門,但未去開啟它的時候,節(jié)目主持人開啟剩下兩扇門的其中一扇,露出其中一只山羊。主持人其后會問參賽者要不要換另一扇仍然關上的門。問題是:換另一扇門會否增加參賽者贏得汽車的機會率? 以下為模擬三門問題的Java代碼。 import java.util.Scanner; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols;

//三門 class ThreeDoor { String[] threeDoor = new String[3]; //三門

//設置門后的獎品 public void setPrize() { int carPosition = (int)(Math.random()*100)%3;

threeDoor[0] = "Goat"; threeDoor[1] = "Goat"; threeDoor[2] = "Goat"; threeDoor[carPosition] = "Car"; 復制代碼

} }

//玩家 class Player { int firstChoicePosition = 0; //首次選擇的門 int lastChoicePosition = 0; //最終選擇的門

//選擇一個門 public void choiceDoor() { firstChoicePosition = (int)(Math.random()*100)%3; lastChoicePosition = firstChoicePosition; }

//更換為另一個門 public void changeDoor(int firstGoatPosition) { lastChoicePosition = 3 - firstChoicePosition - firstGoatPosition; } }

//主持人 class Presenter { int firstGoatPosition = 0; //主持人打開的門

//打開后面為山羊的門 public void openFirstGoatPosition (String[] threeDoor,int playerFirstChoicePosition) { if(threeDoor[playerFirstChoicePosition].equals("Car")) { do { firstGoatPosition = (int)(Math.random()*100)%3; } while (firstGoatPosition == playerFirstChoicePosition); } else { for(int i=0;i<3;i++) if(!threeDoor[i].equals("Car") && i!=playerFirstChoicePosition) firstGoatPosition = i; } } }

//計分牌 class Scorer { int playCount = 0; //玩的總次數(shù) int choiceCarCount = 0; //獲得車的次數(shù) int choiceGoatCount = 0; //獲得山羊的次數(shù)

//計分 public void score(String[] threeDoor,int playLastChoicePosition) { playCount++; if(threeDoor[playLastChoicePosition].equals("Car")) choiceCarCount++; else choiceGoatCount++; }

//計算獲得車的概率 public void statistics() { DecimalFormat df = new DecimalFormat("##.00%"); System.out.println("Choice Goat Count: " + choiceGoatCount); System.out.println("Choice Car Count: " + choiceCarCount); System.out.println("Choice Car Rate : " + df.format((float)choiceCarCount/playCount)); } }

//設置模式 class Moder { String mode = ""; //模式,A:換門,B:不換門 int playTotalCount = 0; //玩的總次數(shù)

//設置模式 public void setMode() { Scanner sc = new Scanner(System.in);

//設置選門模式 while(!mode.equals("A") && !mode.equals("B")) {System.out.println("Plase input mode: A[Change] B[Don't Change]");mode = sc.nextLine();if(!mode.equals("A") && !mode.equals("B"))System.out.println("Input Error, Input again."); }//設置玩的總次數(shù) while(playTotalCount<=0) {System.out.println("Plase input play total count: ");try {Scanner scCnt = new Scanner(System.in);playTotalCount = scCnt.nextInt();} catch(Exception e) {playTotalCount = 0;}if(playTotalCount<=0)System.out.println("Input Error, Input again."); }System.out.println(); 復制代碼

}

//顯示設置的模式 public void showMode() { if(mode.equals("A")) System.out.println("Mode: [Change]"); else System.out.println("Mode: [Don't Change]");

System.out.println("Play Total Count: " + playTotalCount); System.out.println(); 復制代碼

} }

//main程序 class ThreeDoorDemo { public static void main(String[] args) { ThreeDoor threeDoor = new ThreeDoor(); //三門 Player player = new Player(); //玩家 Presenter presenter = new Presenter(); //主持人 Scorer scorer = new Scorer(); //計分者 Moder moder = new Moder(); //設置模式者

moder.setMode(); //設置模式 moder.showMode(); //顯示模式//循環(huán)玩多次 for(int i=0; i<moder.playTotalCount; i++) {threeDoor.setPrize(); //設置門后獎品player.choiceDoor(); //玩家選擇一個門//主持人打開一扇是山羊的門presenter.openFirstGoatPosition(threeDoor.threeDoor,player.firstChoicePosition);if(moder.mode.equals("A"))player.changeDoor(presenter.firstGoatPosition); //玩家換另外一扇門//計分scorer.score(threeDoor.threeDoor,player.lastChoicePosition); }scorer.statistics(); //統(tǒng)計獲得汽車的概率 復制代碼

} }

好啦,今天小猿圈關于Java學習的分享就到這里了,大家是不是感覺很神奇呢,原來這個游戲套路這么深,希望大家能夠學習到呢,記得收藏分享給身邊的人哦。

轉載于:https://juejin.im/post/5cf080bb6fb9a07edd29f7d6

總結

以上是生活随笔為你收集整理的小猿圈分享使用Java模拟三道门的游戏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。