【发布时间】:2018-12-31 20:00:12
【问题描述】:
我正在制作一个刽子手游戏。然而,当我试图输出玩家必须猜测的单词但作为空白字符时,我很挣扎。如果这个词是“伟大的”,程序会输出 _ _ _ _ _
我使用 for 循环创建了一个与单词具有相同数量字符的数组,但是每当我运行我的代码时,我都会得到一个 java.lang.NullPointerException。
我已尝试研究该问题并查看 java 文档,但是我是该语言的新手,发现很难理解该问题以及如何解决它。我哪里错了?
import java.util.*;
public class Hangman
{
static char[] word1 = {'a', 'm', 'a', 'z', 'i', 'n', 'g'};
static char[] word2 = {'f', 'a', 'b', 'u', 'l', 'o', 'u', 's'};
static char[] word3 = {'g', 'r', 'e', 'a', 't'};
static Random random = new Random();
static int choice;
static char[] choice_array;
static char[] num_of_spaces;
public static void main(String args[])
{
System.out.println("-------");
System.out.println("Hangman");
System.out.println("-------");
choice = random.nextInt(3)+1;
switch (choice)
{
case 1:
choice_array = word1;
break;
case 2:
choice_array = word2;
break;
case 3:
choice_array = word3;
break;
}
System.out.println(choice_array);
for(int counter = 0; counter < choice_array.length; counter++)
{
num_of_spaces[counter] = '_';
}
System.out.println(num_of_spaces);
}
}
【问题讨论】:
-
我们能否获得完整的堆栈跟踪(抛出的错误)?
-
Exception in thread "main" java.lang.NullPointerException at Hangman.main(Hangman.java:33) -
你永远不会初始化
num_of_spaces -
你在哪里初始化了这个数组
static char[] num_of_spaces;?
标签: java arrays eclipse nullpointerexception