0
点赞
收藏
分享

微信扫一扫

Java 三门问题



Java 三门问题_知乎

Java 三门问题_servlet_02

public class ThreeGatesExp {

private int N;
public ThreeGatesExp(int N){

if(N <= 0)
throw new IllegalArgumentException("N must be larger than 0");

this.N = N;
}

public void run(boolean changDoor){

int wins = 0;

for(int i = 0; i < N; i ++){
if(play(changDoor))
wins ++;
}
System.out.println(changDoor ? "Change" : "Not Change");
System.out.println("winning rate: " + (double)wins/N);
}



private boolean play(boolean changeDoor){
// Door 012
//哪扇有奖品 哪扇选定的
int prizeDoor = (int)(Math.random() * 3);
int playerChoice = (int)(Math.random() * 3);

if( playerChoice == prizeDoor)
return changeDoor ? false : true;
else
return changeDoor ? true : false;
}


public static void main(String[] args) {
int N = 100000;
ThreeGatesExp exp = new ThreeGatesExp(N);
exp.run(true);
System.out.println("Hello world!");
exp.run(false);
}
}

举报

相关推荐

0 条评论