2016-01-31 2 views
2

Я пытаюсь использовать класс Die при написании класса PairOfDice. Вот класс Die:Написание класса с использованием другого класса

public static class Die { 
    private final int MAX = 6; 
    private int faceValue; 

    public Die() 
    { 
     faceValue = 1; 
    } 

    public int roll() 
    { 
     faceValue = (int)(Math.random() * MAX) + 1; 
     return faceValue; 
    } 

    public void setFaceValue(int value) 
    { 
     if(value > 0 && value <= MAX) 
      faceValue = value; 
    } 

    public int getFaceValue() 
    { 
     return faceValue; 
    } 

    public String toString() 
    { 
     String result = Integer.toString(faceValue); 
     return result; 
    } 
} 

Теперь то, что я пытаюсь сделать, это использовать этот класс, чтобы написать подобный класс под названием PairOfDice. Мне нужны аналогичные методы прокатки кубиков, установка номинала и т. Д. Однако я никогда не делал этого раньше, поэтому я не уверен, как подойти к этому. Вот что у меня есть до сих пор:

public static class PairOfDice { 

    Die die1 = new Die(); 
    Die die2 = new Die(); 

    public PairOfDice() 
    { 
     ???? 
    } 

    public int rollPair() 
    { 
     ???? 
    } 
} 

Я не уверен, как правильно использовать эти объекты. Пожалуйста, имейте в виду, я новичок в java/programming.

+0

Вы правильно начали определение 'PairOfDice'. Поставьте себя на место кого-то, катившего пару, и спросите себя, какие методы вы хотите увидеть и как будет выглядеть результат. Например, «rollPair» может вернуть общую сумму двух кубиков, но вы также можете увидеть отдельные ролики. Куда вы идете с этим, открыта для множества различных возможностей в зависимости от того, чего вы хотите достичь. –

ответ

1

В конструкторе ничего не требуется, вы инициализировали поля die, в которых вы их объявили. Просто позвоните им в свой метод. Что-то вроде,

public int rollPair() 
{ 
    return die1.roll() + die2.roll(); 
} 
Смежные вопросы