1 回答

TA貢獻1860條經驗 獲得超9個贊
你的問題似乎在這里
private void Lottery(){
this.singOne = lotteryMachine.randomSing();
this.singTwo = lotteryMachine.randomSing();
this.singThree = lotteryMachine.randomSing();
}
這不是構造函數(shù);相反,它是一個Lottery()被Game類調用但不使用的私有方法。因為從未調用該方法,所以所有singX字段都未初始化(即為空)。將初始化邏輯從所述方法移動到像這樣的字段聲明后,事情應該可以正常工作
private LotteryMachine.Sings singOne = lotteryMachine.randomSing();
private LotteryMachine.Sings singTwo = lotteryMachine.randomSing();
private LotteryMachine.Sings singThree = lotteryMachine.randomSing();
或者聲明Game類的構造函數(shù)如下:
public Game() {
this.singOne = lotteryMachine.randomSing();
this.singTwo = lotteryMachine.randomSing();
this.singThree = lotteryMachine.randomSing();
}
添加回答
舉報