私の割り当てでは、単純なバージョンの Craps を作成する必要があります。何らかの理由で、両方の変数が 0 でない場合でも、割合の割り当ては常に 0 を生成します。コードは次のとおりです。
import java.util.Random;
ヘッダー、変数に注意してください
public class Craps {
private int die1, die2,myRoll ,myBet,point,myWins,myLosses;
private double winPercent,lossPercent;
private Random r = new Random();
2 つのサイコロを振って、それぞれのサイコロを出すだけです。
public int roll(){
die1 = r.nextInt(6)+1;
die2 = r.nextInt(6)+1;
return(die1 + die2);
}
Play メソッド、これはゲームをループするだけです。
public void play(){
myRoll = roll();
point = 0;
if(myRoll == 2 ||myRoll == 3 || myRoll == 12){
System.out.println("You lose!");
myLosses++;
}else if(myRoll == 7 || myRoll == 11){
System.out.println("You win!");
myWins++;
}else{
point = myRoll;
do {
myRoll = roll();
}while(myRoll != 7 && myRoll != point);
if(myRoll == point){
System.out.println("You win!");
myWins++;
}else{
System.out.println("You lose!");
myLosses++;
}
}
}
これがバグの場所です。これがテスター メソッドです。
public void tester(int howMany){
int i = 0;
while(i < howMany){
play();
i++;
}
バグはこれらの割り当てステートメントにあります
winPercent = myWins/i * 100;
lossPercent = myLosses/i* 100;
System.out.println("program ran "+i+" times "+winPercent+"% wins "+ lossPercent+"% losses with "+myWins+" wins and "+myLosses+" losses");
}
}