当前位置: 首页 > 面试题库 >

什么是NullPointerException?

祁俊喆
2023-03-14
问题内容

我目前正在尝试使用Java作为大学项目来创建井字游戏。到目前为止,我所做的只是创建了gameBoard方法的框架代码。我已经遇到一个错误,说:

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();
  }
}

问题答案:

关于空指针异常,是在需要html" target="_blank">对象的情况下应用程序尝试使用空值时抛出的异常。

这是java中的相应类:
java.lang.NullPointerException

关于您的代码,我建议您使用像Eclipse这样的IDE,这样您可以在键入时指出编译错误,如下所示

 public void main(String args[])

它应该是

public static void main(String args[])


 类似资料:
  • 问题内容: 什么是selenium? 当您打开Selenium的官方页面时,您首先读到的是“什么是Selenium?”中的“ Selenium automates browser”。部分。“selenium的哪个部分适合我?”部分 下面提供了Selenium WebDriver和Selenium IDE之间的选择。由此,我推断出Selenium是一组工具,并且该集合包括IDE,WebDriver

  • 硒是什么? 当你打开Selenium的官方页面,首先看到的是“什么是Selenium”中的“Selenium自动浏览器”。节。“硒的哪一部分对我合适?”下面提供了Selenium WebDriver和Selenium IDE之间的选择。由此,我推断Selenium是一个工具集合,该集合包括IDE、WebDriver API(语言绑定)、网格、Selenium独立服务器、浏览器驱动程序。一个人必须下

  • 本文向大家介绍什么是事务?什么是锁?相关面试题,主要包含被问及什么是事务?什么是锁?时的应答技巧和注意事项,需要的朋友参考一下 答:事务就是被绑定在一起作为一个逻辑工作单元的SQL语句分组,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点。为了确保要么执行,要么不执行,就可以使用事务。要将有组语句作为事务考虑,就需要通过ACID测试,即原子性,一致性,隔

  • 我在这里读到 写入共享引用类型<代码> 理解<代码> 在另一个地方,我阅读了以下代码: 结构人中的a是什么 名称的含义是什么: 如果想避免使用

  • 我几天前听说了Docker的事,想过去看看。 但事实上,我不知道这个“容器”的用途是什么? 什么是容器? 它能取代一个专门用于开发的虚拟机吗? 简单地说,在公司中使用Docker的目的是什么?主要的优势?

  • 本文向大家介绍什么是batch normalization,原理是什么?相关面试题,主要包含被问及什么是batch normalization,原理是什么?时的应答技巧和注意事项,需要的朋友参考一下 Batch Normalization就是在训练过程,每一层输入加一个标准化处理。 深度神经网络之所以复杂有一个原因就是由于在训练的过程中上一层参数的更新使得每一层的输入一直在改变。所以有个办法就是去