.equals表演真的很有趣

时间:2013-02-06 23:39:50

标签: java

         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方法的最后一部分。我目前有两个阵列在运行。第一个是完整的[],其中包含一个被逐字符串子字符串切换的输入字。我拥有的第二个数组是“猜测”字数组。 例如如果单词是fish,则完成[]将包含[f,i,s,h},而如果我猜测f,则wordTemp将包含[f, - , - , - ]。

然而,当我去比较这两个数组的元素以查看用户是否完成了挑战时,我跳出了java。以下是它最终的结果:

在第一次猜测之后,整个事情就会消失。我怀疑.equals不起作用,但我该怎么做才能取代它?

1 个答案:

答案 0 :(得分:9)

 if (n.equals(m));

应该是

 if (n.equals(m))

删除分号。

这是自动格式化IDE很好的部分原因,而且个人而言,这也是我喜欢埃及式括号的原因之一 - if (n.equals(m)) {同一行的开放式括号。像这样的小事使得额外的分号等语法问题变得更加明显。