0
         for (int y = 0; y < stuff.length(); y++)
        {
            String n = wordTemp[y];
            String m = complete [y];
            System.out.println(n + m);
            if (n.equals(m));
            {
                fin = fin + 1;
            }
        }

        if (fin == stuff.length())
        {
            System.out.println("COMPLETED!  Play again later.");
            return;
        }

这是我的hangman main 方法的最后一部分。我目前有两个阵列正在运行。第一个是 complete[],它包含一个输入的单词,该单词被切成逐个字符的子字符串。我拥有的第二个数组是“猜测的”字数组。例如,如果单词是fish,complete[] 将包含[f,i,s,h} 而wordTemp 将包含[f,-,-,-] 如果我只是猜测f。

但是,当我去比较这两个数组的元素,看看用户是否完成了挑战时,我直接跳出了java。最终结果如下:

在进行了第一次猜测之后,整个事情都跳过了。我怀疑 .equals 不起作用,但我能做些什么来替换它?

4

1 回答 1

9
 if (n.equals(m));

应该

 if (n.equals(m))

删除分号。

这是自动格式化 IDE 不错的部分原因,而就我个人而言,这也是我喜欢埃及风格括号的部分原因——if (n.equals(m)) {开放括号在同一行。诸如此类的小事情会使诸如额外分号之类的语法问题更加明显。

于 2013-02-06T23:41:32.027 回答