对象die与int不兼容



给定一个类Die,它包含一个六面模具的随机值。

另一个类PairOfDice需要访问Die中的getvalue并存储两个Die值。

错误:不兼容的类型:执行PairOfDice时发生Die无法转换为int。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;
}
}

问题是,您将dieOneValue和dieTwoValue定义为类型Die,然后让get方法返回dieOneValue或dieTwoValue,但这些方法具有int返回类型。您需要将getDieOneValue和getDieTwoValue的返回类型更改为Die,或者调用dieOneValue.getValue()dieTwoValue.getValue(),而不仅仅是返回Die实例。

看起来你也没有在PairOfDice方法中正确地实例化dieOneValue和dieTwoValue。不是应该是这样的吗?

public void PairOfDice() {
dieOneValue = new Die();
dieTwoValue = new Die();
}

最新更新