1 回答
TA贡献1860条经验 获得超9个赞
你的问题似乎在这里
private void Lottery(){
this.singOne = lotteryMachine.randomSing();
this.singTwo = lotteryMachine.randomSing();
this.singThree = lotteryMachine.randomSing();
}
这不是构造函数;相反,它是一个Lottery()被Game类调用但不使用的私有方法。因为从未调用该方法,所以所有singX字段都未初始化(即为空)。将初始化逻辑从所述方法移动到像这样的字段声明后,事情应该可以正常工作
private LotteryMachine.Sings singOne = lotteryMachine.randomSing();
private LotteryMachine.Sings singTwo = lotteryMachine.randomSing();
private LotteryMachine.Sings singThree = lotteryMachine.randomSing();
或者声明Game类的构造函数如下:
public Game() {
this.singOne = lotteryMachine.randomSing();
this.singTwo = lotteryMachine.randomSing();
this.singThree = lotteryMachine.randomSing();
}
添加回答
举报