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();
添加回答
舉報