此模擬一個擲骰子的程序是這樣一個問題:嘗試寫入,使用特定規則
在擲骰子,軋製線賭注如下進行的遊戲:兩個六面骰子旋轉;擲骰子擲骰子的第一卷被稱爲「滾出來」。一張7或11張牌會自動獲勝,一張2,3或12張牌會自動失敗。如果4,5,6,8,9或10在滾出時滾動,則該數字變成「點」。玩家繼續滾動骰子直到7或點被擲出。如果該點先滾動,則玩家贏得下注。如果7先滾動,則玩家失去
編寫一個程序來模擬使用這些規則的擲骰子而無需人工輸入。程序應該計算玩家是贏還是輸,而不是要求下注。程序應該模擬滾動兩個骰子並計算總和。添加一個循環,以便程序多次播放。添加計數器,計算玩家獲勝的次數以及玩家丟失的次數。在玩遊戲幾次,計算機美酒(勝/罪+損失)的可能性到底)和輸出值
,這是我做的,到目前爲止
import java.util.Scanner;
public class partb1
{
public static void main(String[] args)
{
int side1=1, side2=1 , roll=1, lose=0, win=0, point=0, answer;
Double winprob, loseprob;
side1= 1+(int)(Math.random() *6);
side2= 1+(int)(Math.random() *6);
Scanner kb = new Scanner(System.in);
do
{
roll = side1+side2;
if (roll == 7 || roll == 11)
{
System.out.println(" Come out wins");
winprob = win + 1;
}
else if (roll ==2 || roll ==3 || roll ==12)
{
System.out.println(" Come out loses ");
loseprob = lose +1;
}
else
{
side1= 1+(int)(Math.random() *6);
side2= 1+(int)(Math.random() *6);
point = roll;
roll = side1+side2;
System.out.println("The point");
System.out.println("You won the bet");
winprob = win + 1;
while(roll != point || roll!= 7);
side1= 1+(int)(Math.random() *6);
side2= 1+(int)(Math.random() *6);
roll = side1+side2;
}
if(roll ==7)
{
System.out.println("You lost the bet");
answer = kb.nextInt();
}
else if (roll == point) {
System.out.println(win);
}
while(true)
{
System.out.println(" Do you want to play again? 0 for No, any number for Yes ");
if (answer ==0)
{
break;
}
winprob = (40/(40+60));
System.out.println(" The probability of wining is " + winprob);
loseprob = (40/(40-60));
System.out.println(" The probability of losing is " + loseprob);
}
}
}
}
我不斷收到這錯誤
1 error found:
File: H:\assignment 3\partb1.java [line: 84]
Error: Syntax error, insert "while (Expression) ;" to complete DoStatement
我不知道我錯過了什麼或做錯了什麼? 任何線索?
'wins/sins + losses''sins'代表用戶發出多少次罵人的聲音? – CAbbott 2013-02-21 21:17:09
這只是贏得和輸的概率,我將需要在程序中包含它們兩個 – Ryan 2013-02-21 21:22:28