我想了解下面的代码,其中返回类型被视为不兼容。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不能转换为字符串 - 修改错误类型 – SFmtl
@S_HereToLearn请张贴您的新的return语句。 –
@S_HereToLearn你的新方法是正确的。也许有一种方法,当你返回一个'PassLine'时,你没有添加返回字符串的地方? –