2 回答

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個贊
Die請注意您的班級在班級內(nèi)的情況DieTester_5AlastiCorrigan。這使得它成為一個非靜態(tài)內(nèi)部類。您需要一個 的實(shí)例DieTester_5AlastiCorrigan來創(chuàng)建 的實(shí)例Die。因此,要解決此問題,只需移至Die頂層,如下所示:
class DieTester_5AlastiCorrigan {
...
}
class Die {
...
}
或者添加一個static修飾符:
class DieTester_5AlastiCorrigan {
...
static class Die {
...
}
}
但是,您的代碼中仍然存在一些錯誤。Die有一個接受 an 的構(gòu)造函數(shù)int,但是當(dāng)您創(chuàng)建Die,時Die myDie = new Die();,您沒有將 an 傳遞int給構(gòu)造函數(shù)。我建議您添加一個無參數(shù)構(gòu)造函數(shù):
public Die() {
this(1);
}
另外,value不應(yīng)該是 類型String。它應(yīng)該是一個int,并且從您的用法來看,roll應(yīng)該更改 的值value而不是返回骰子卷。

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個贊
class Die 是類 DieTester_5AlastiCorrigan 的實(shí)例變量,這意味著您只能使用 DieTester_5AlastiCorrigan 實(shí)例創(chuàng)建 Die 實(shí)例。這段代碼應(yīng)該運(yùn)行:
DieTester_5AlastiCorrigan outerObject = new DieTester_5AlastiCorrigan();
DieTester_5AlastiCorrigan.Die myDie = outerObject.new Die();
添加回答
舉報(bào)