我目前正在尝试在java中创建一个tic-tac-toe游戏作为大学项目。到目前为止,我所做的只是创建了一个gameBoard方法的框架代码。我已经遇到错误说:什么是NullPointerException?
java.lang.NullPointerException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at edu.rice.cs.drjava.model.compiler.JavacCompiler.runCommand(JavacCompiler.java:272)
我也不确定如何完成项目。我的基本想法是使用gameBoard方法每次打印板。我试图将变量设置为全局变量,以便在玩家移动时我可以改变它们。我该如何做到这一点,我如何解决我收到的错误?任何帮助将不胜感激,这里是我当前的代码:
import javax.swing.JOptionPane;
public class Assignment5
{
public static String top1 = " ";
public static String top2 = " ";
public static String top3 = " ";
public static String mid1 = " ";
public static String mid2 = " ";
public static String mid3 = " ";
public static String bot1 = " ";
public static String bot2 = " ";
public static String bot3 = " ";
//Generate the game board
public static void gameBoard()
{
System.out.println("+-----------+");
System.out.println("| " + top1 + " | " + top2 + " | " + top3 + " |");
System.out.println("+-----------+");
System.out.println("| " + mid1 + " | " + mid2 + " | " + mid3 + " |");
System.out.println("+-----------+");
System.out.println("| " + bot1 + " | " + bot2 + " | " + bot3 + " |");
System.out.println("+-----------+");
}
public void main(String args[])
{
gameBoard();
}
}
['java.lang.NullPointerException'](http://docs.oracle.com/javase/7/docs/api/java/lang/NullPointerException.html) – 2013-05-02 04:22:15
我不认为这是唯一的一块你正在使用的代码。首先,public static void main(String [] args)其次,你试图访问非静态方法中静态的gameBoard。 – asifsid88 2013-05-02 04:26:34
@ asifsid88看起来像OP从'main'中移除'static'关键字,以便干净地调用'gameboard'方法,但却变成了这个错误。 – 2013-05-02 04:28:27