三个骰子对象并各掷一个。投掷的结果应显示在输出窗口中。我正在从我以前的工作练习中进行这个练习(PS。重用此代码来掷骰子)。我有两个课程:App 和 Dice 课程。骰子课很好。
- 我已经设置了三个骰子对象,它的工作原理如下图所示。
- 我正在尝试在课堂 App 中掷骰子。
- 您可以看到如下结果的屏幕截图,但不是每个都折腾?
- 如果您(专家)向我展示如何掷骰子,我将不胜感激,好吗?
编辑:这篇文章与另一篇文章链接:m https://stackoverflow.com/questions/16878070/alternative-dice-toss-technique这个问题的不同之处在于分解我经过试验和测试的代码 [of 3 dice tossed同时从以前的帖子] 掷骰子一次三次。
类应用程序如下 - 完整的类应用程序代码 - 更新
import javabook.*;
class App
{
public static void main(String args[])
{
    App thisProgram = new App();    
}   
    //outside a main class
    public App()
    {
        //contsructor
        //Dice aDice
        //set variables
        //int anDice = 0;
        //int faceValue;
        //Declare objects
        Dice diceOne;       
        Dice diceTwo;       
        Dice diceThree;
        int aNumber = 0;
        int numThrown = 0;
        //while(numThrown < 4)      //UPDATED - commented out
        //int afaceValue;
        //declare objects
        MainWindow mWindow;
        //Dice aDice;           //UPDATED - commented out
        InputBox iBox;
        OutputBox oBox;
        //create objects                
        mWindow = new MainWindow(); 
        //aDice = new Dice();       //UPDATED - commented out       
        iBox = new InputBox(mWindow);   
        oBox = new OutputBox(mWindow);  
        diceOne     = new Dice();       
        diceTwo     = new Dice();
        diceThree   = new Dice();
        //Use objects
        mWindow.show();
        oBox.show();
        while(numThrown < 3) //<4
    {
            Dice dice = new Dice();
        aNumber = iBox.getInteger("Enter 1 to throw the dice, or 0 to exit: ");
        if(aNumber == 1)
            {
                dice.throwDice();
                int rollledNum = dice.getFaceValue();
                oBox.println( "You threw : " + dice.getFaceValue() );
            } 
        else
            {
        return;
            }
        numThrown++;
            }
    }
}
结果的
屏幕抓取如下使用上面的代码更新了下面的屏幕抓取:


类骰子如下这没关系。
class Dice
{
    //public static void main(String args[])
    //data
    //private constants
    final int NUMBER_OF_SIDES = 6;
    //private variables
    private int faceValue;
    //constructors
    public Dice()
    {
        this.faceValue = 0;     //zero if not thrown.
    }
    //methods - behavious
    public void throwDice()
    {
        this.faceValue = 1 + (int) (Math.random() * NUMBER_OF_SIDES);
    }
    //method - get (accessors) and sets (mutators)
    public int getFaceValue()
    {
        return(this.faceValue);
    }   
}