这是问题:
在掷骰子游戏中,及格线下注过程如下:掷出两个六面骰子;掷骰子的第一轮骰子称为“出局”。7 或 11 的出局自动获胜,2,3 或 12 的出局自动失败。如果 4、5、6、8、9 或 10 在出局掷骰上掷出,则该数字成为“点数”。玩家不断掷骰子,直到掷出 7 点或点数。如果点数先滚动,则玩家赢得赌注。如果先掷出 7,则玩家输
编写一个程序,在没有人工输入的情况下使用这些规则模拟掷骰子。程序应该计算玩家是赢还是输,而不是要求下注。程序应该模拟掷两个骰子并计算总和。添加一个循环,以便程序播放几次。添加计数器来计算玩家赢了多少次,以及玩家输了多少次。在玩几次游戏结束时,计算获胜概率(wins/sins+losses))并输出值
这就是我到目前为止所做的
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
我不确定我是错过了什么还是做错了什么?有什么线索吗?