我对java很新,并且正在开发一个应该模拟Mastermind游戏的程序。以下是描述: 用Java编写应用程序,允许用户在计算机上玩Bulls and Cows游戏。该游戏的工作原理如下:计算机秘密选择一个4位数字。数字必须全部不同。然后用户猜出号码,计算机提供匹配数字的数量。如果匹配的数字位于正确的位置,它就是" bull",如果它位于不同的位置,那么它就是"牛"
我可以使用两个类:Oracle和Game。 Oracle类生成计算机选择的4位数字,并计算玩家猜测中的公牛和母牛数量。游戏类从Oracle获取公牛和奶牛的数量并报告它。我运行程序时收到此错误:
错误似乎在这里: 在Game.play(Game.java:34) 在BullsAndCows.main(BullsAndCows.java:5)
你可以帮我找出错误吗?非常感谢。these are the images of Oracle and Game classes as well as the main method
答案 0 :(得分:0)
Oracle的成员变量computer
未初始化。
那是因为在Oracle的构造函数中,你没有初始化成员变量computer
,而是另一个具有相同名称的变量,这是该方法的本地变量。
要解决此问题,请在Oracle第21行上将其替换为:
Oracle computer = new Oracle();
由此:
computer = new Oracle();