给定一个模具,它包含一个六边形模具的随机值。
另一个类PairOfDice需要访问Die中的getvalue并存储两个die值。
错误:类型不兼容:执行PairOfDice时,无法将管芯转换为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;
}
}
答案 0 :(得分:1)
问题是您将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();
}