2 回答
TA贡献1856条经验 获得超5个赞
Die请注意您的班级在班级内的情况DieTester_5AlastiCorrigan。这使得它成为一个非静态内部类。您需要一个 的实例DieTester_5AlastiCorrigan来创建 的实例Die。因此,要解决此问题,只需移至Die顶层,如下所示:
class DieTester_5AlastiCorrigan {
...
}
class Die {
...
}
或者添加一个static修饰符:
class DieTester_5AlastiCorrigan {
...
static class Die {
...
}
}
但是,您的代码中仍然存在一些错误。Die有一个接受 an 的构造函数int,但是当您创建Die,时Die myDie = new Die();,您没有将 an 传递int给构造函数。我建议您添加一个无参数构造函数:
public Die() {
this(1);
}
另外,value不应该是 类型String。它应该是一个int,并且从您的用法来看,roll应该更改 的值value而不是返回骰子卷。
TA贡献1815条经验 获得超6个赞
class Die 是类 DieTester_5AlastiCorrigan 的实例变量,这意味着您只能使用 DieTester_5AlastiCorrigan 实例创建 Die 实例。这段代码应该运行:
DieTester_5AlastiCorrigan outerObject = new DieTester_5AlastiCorrigan();
DieTester_5AlastiCorrigan.Die myDie = outerObject.new Die();
添加回答
举报