0
我有我的編程課程的作業。我只有一個我無法弄清楚的問題。JAVA:骰子游戲,確保打印的是正確的
我的指示如下:編寫一個程序,模擬玩家擲骰子100次後贏得的頻率。如果玩家擲出一個7或11,他們贏了
我的問題如下:我的程序顯示我比我應該贏得更多的時間。我只希望我的程序能夠打印出用戶贏得的消息,如果他們有七到十一個,但沒有發生。任何人都可以就我可能需要做的事情給我一些建議嗎?
以下是我的代碼。非常感謝您的幫助。
@author Jordan Navas
@version 1.0
COP2253 Workshop7
File Name: Craps.java
*/
import java.util.Random;
public class Craps
{
public static void main(String[] args)
{
Random rand = new Random();
int gamesWon=0;
int gamesLost=0;
for(int i=1;i<=100;i++)
{
craps(rand);
if(craps(rand))
{
gamesWon++;
}
else{
gamesLost++;
}
}
System.out.println("Games You Have Won: " + gamesWon);
System.out.println("Games You Have Lost: " + gamesLost);
}
public static boolean craps(Random rand)
{
int firstDice = rand.nextInt(6)+1;
int secondDice = rand.nextInt(6+1);
int sumOfDies = firstDice + secondDice;
System.out.print("[" + firstDice + "," + secondDice + "]");
if (sumOfDies == 7 || sumOfDies == 11)
{
System.out.println(sumOfDies + " You Won! Congratulations! You Won! Congratulations! ");
return true;
} else if(sumOfDies == 2 || sumOfDies == 3 || sumOfDies == 12)
{
System.out.println(sumOfDies + " Congratulations! You Lost! ");
return false;
}
int point = sumOfDies;
System.out.print("Point: " + point + " ");
if (sumOfDies == point)
{
System.out.println(sumOfDies + " You Won! Congratulations! You Won! Congratulations!");
return true;
} else
{
System.out.println(sumOfDies + " Congratulations! You Lost! ");
return false;
}
}
}
'如果(sumOfDies ==點)'總是返回TRUE; – piyushj
不返回錯誤否定的是,雖然?這不夠好嗎?我應該刪除那部分編碼嗎? –
此代碼將爲'2,3或12'以外的任何其他內容返回'true' – piyushj