java - NullPointerException 运行时错误

标签 java class nullpointerexception

我对 java 很陌生,正在开发一个应该模拟 Mastermind 游戏的程序。描述如下: 用 Java 编写一个应用程序,允许用户与计算机玩 Bulls and Cows 游戏。游戏的工作原理如下:计算机 secret 选择一个 4 位数字。数字必须全部不同。然后用户猜测数字,计算机提供匹配数字的数量。如果匹配的数字位于正确的位置,则为“公牛”,如果位于不同的位置,则为“牛”

我可以选择两个类(class):Oracle 和 Game。 Oracle 类生成计算机选取的 4 位数字,并计算玩家猜测的公牛和母牛的数量。 Game 类从 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

最佳答案

Oracle的成员变量computer未初始化。

这是因为在 Oracle 的构造函数中,您没有初始化成员变量 computer,而是初始化另一个同名的变量,该变量是该方法的本地变量。

要修复此问题,请在 Oracle 第 21 行替换以下内容:

Oracle computer = new Oracle();

通过这个:

computer = new Oracle();

关于java - NullPointerException 运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22448781/

相关文章:

java - 使用 dom4j 创建带 key 的 xpath

c++ - "error: no matching function for call to"构造函数错误

java - 来自 String.split 的令人困惑的输出

android - 为什么 adMob 在 Android 中抛出这些空指针异常?

java - Spring - 在 xml 中获取系统环境变量会导致空指针异常

java - 如何减少ArrayList未使用的容量

java - 使用executeQuery时出现NullPointerException

java - 如何使用鼠标拖动事件在java applet上绘制一个矩形并使其停留

java - Prefuse Java 条形图

ios - 一个 .h 和 .m 文件用于多个 xib ios