Объект не совместим с int - PullRequest
0 голосов
/ 16 ноября 2018

Имеется класс Die, и он содержит случайное значение для шестигранного кубика.

Другой класс PairOfDice должен получить доступ к getvalue в Die и сохранить два значения кубика.

Ошибка: несовместимаятипы: Die не может быть преобразован в int, когда выполняется PairOfDice.return dieOneValue;

Как решить эту проблему?И есть ли другие предложения для кода Java?Заранее благодарим за любой совет!

public class Die {
public static Random rand = new Random();
private int sides; // Number of sides
private int value; // Die's value
public Die() {
    sides = 6;
    roll();
}
public void roll() {
    value = rand.nextInt(sides) + 1;
}
public int getSides() {
    return sides;
}
public int getValue() {
    return value;
}

Второй класс:

public class PairOfDice {
private Die dieOneValue;
private Die dieTwoValue;
public void PairOfDice() {
 Die die = new Die();
 dieOneValue.roll();
 dieTwoValue.roll();
}

public int getDieOneValue() {
  return dieOneValue;
}
public int getDieTwoValue() {
  return dieTwoValue;
}
}

1 Ответ

0 голосов
/ 16 ноября 2018

Проблема заключается в том, что вы определяете dieOneValue и dieTwoValue как тип Die, а затем методы get возвращают dieOneValue и dieTwoValue, но методы имеют тип возвращаемого типа int. Вам нужно либо изменить тип возвращаемого значения getDieOneValue и getDieTwoValue на Die, либо вызвать dieOneValue.getValue() и dieTwoValue.getValue() вместо того, чтобы просто возвращать экземпляры Die.

Не похоже, что вы правильно создали экземпляр dieOneValue и dieTwoValue в методе PairOfDice. Разве это не должно быть что-то вроде этого?

public void PairOfDice() {
 dieOneValue = new Die();
 dieTwoValue = new Die();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...