对象模头与int不兼容

时间:2018-11-16 01:04:59

标签: java object

给定一个模具,它包含一个六边形模具的随机值。

另一个类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;
}
}

1 个答案:

答案 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();
}