Я пытаюсь понять код ниже, где тип возврата рассматривается как несовместимый.Java - понимание типа возвращаемого значения для частного конечного пользовательского типа
return new PassLine(One, Two, roll);
incompatible types: PassLine cannot be converted to TheDie
Надеюсь, кто-то может пролить некоторый свет, чтобы я мог продолжить.
Я ожидаю получить сумму рулона для dieOne + dieTwo.
public class PassLine {
private int thePoint;
private final TheDie dieOne;
private final TheDie dieTwo;
private final TheDie rollTheDie;
public PassLine(TheDie dieOne, TheDie dieTwo, TheDie rollTheDie) {
super();
this.dieOne = dieOne;
this.dieTwo = dieTwo;
this.rollTheDie = rollTheDie;
}
public TheDie dieOne() {
TheDie obj = new TheDie();
obj.rollTheDie();
return dieOne;
}
public TheDie dieTwo() {
TheDie obj = new TheDie();
obj.rollTheDie();
return dieTwo;
}
public TheDie rollTheDie() {
dieOne();
dieTwo();
return rollTheDie;
}
public PassLine passLine() {
TheDie One = dieOne();
TheDie Two = dieTwo();
TheDie roll = rollTheDie();
return new PassLine(One, Two, roll);
}
public static void main(String[] args) {
System.exit(0);
}
}
От - общественного выпускного класса TheDie
public int rollTheDie() {
Random rand = new Random();
oneDie = rand.nextInt(6) + 1;
return oneDie;
}
Новое сообщение об ошибке, как:
на: вернуть новую линию прохождения (один, два, рулон);
ошибка:
Incompatible Type: TheDiecannot be converted to String
Incompatible Type: TheDiecannot be converted to String
Introduce...
May split declaration into a declaration and assignment
Flip operands of the binary operator
Ницца, спасибо за объяснение. с возвращением правильного типа, это говорит о том, что - несовместимые типы: TheDie не может быть преобразован в String - Это изменило тип ошибки – SFmtl
@S_HereToLearn Пожалуйста, опубликуйте новый оператор return. –
@S_HereToLearn Ваш новый метод верен. Возможно, есть метод, который вы не добавляли, где вы возвращаете строку, пока вы должны возвращать 'PassLine'? –