Java StringBuilder 与indexOf

标签 java stringbuilder indexof

我正在用 Java 编写一个传统的刽子手游戏。我目前所坚持的是查找用户输入的字符是否不是 String 中的字符。

if(getLetters.indexOf(userCharInput)==-1) //getLetters is the StringBuilder, and the userCharInput is a String.
{
     playerCounter++;
}

这是我似乎遇到麻烦的部分,我查看了不同的 indexOf 示例,并已将其制定为适用于我的程序。

问题是,它不起作用。我设置它是为了让玩家有 3 次机会猜测这个单词,因为默认单词是“apple”,我猜了“a”、“p”和“l”,这使得“e”被猜测。现在我故意做出 3 个错误的猜测,并且它不会触发下一个 else if:

else if(playerCounter == 3)
{
    System.out.println("All lives are gone! Game Over!");
    playerCounter = 1; //resets the playerCounter to one.
    System.exit(0);
}

任何帮助将不胜感激。

最佳答案

这是因为当你一直猜错字母时,第一个 if 语句的计算结果为 true:

if(getLetters.indexOf(userCharInput)==-1) //getLetters is the StringBuilder, and the userCharInput is a String.
{
     playerCounter++;
}

所以你不断增加playerCounter(超过3)。这意味着您的下一条语句无法访问(一旦它大于 3,它就不会变得更小,至少对于您迄今为止发布的代码而言)。因此 else if (playerCounter == 3) 可能无法访问。

关于Java StringBuilder 与indexOf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14106622/

相关文章:

java - Galaxy note 1 从 mdpi 获取资源

java - 为什么不让 StringBuilder 和 StringBuffer 实现一个公共(public)接口(interface)呢?

delphi - 为什么我使用 Mike Heydon 的 TStringBuilder 类会遇到访问冲突?

java - 使用按钮从另一个类中的数组填充 JTextArea

c# - .NET 字符串 IndexOf 意外结果

java - 无法看到图像(Imageloader.java)

java - 当程序未激活时捕获按键

java - NoClassDefFoundError:org/jdesktop/beansbinding/Property

string - 有没有像 "firstIndexOf"这样的代码?

java - 当 ArrayList 中多个对象相同时,如何找到它们的索引