java - 如何检测输入是否不是字母?我正在编写一个游戏,它需要打印 "not valid input"

标签 java

我正在编写一个游戏,如果输入不是字母,我想警告玩家?。例如,如果输入是“(”或“6”,则需要打印“not valid input”。我还需要“!”作为有效输入来结束游戏。

以下是游戏的演示。

+-----+-----+-----+
|     |     |     |
|     |     |     |
|     |     |     |
|     |     |     |
+-----+-----+-----+

Secret Phrase:   ---
Guessed Letters: 
Enter a letter to guess or "!" to end the game
(
No, ( is not in the phrase

以下是编码部分

while (gameEnd == false) {
    System.out.println(drawScoreboard(totalGuesses, wrong));
    System.out.println("Enter a letter to guess or \"!\" to end the game");
    letterz = scnr.next();
    for (int i = 0; i < secretPhrase.length(); i++) {
        for (int hk = 0; hk < alreadyGuessed.length(); hk++) {
            if (Character.toString(letterz.charAt(0)).equals(Character.toString(alreadyGuessed.charAt(hk)))) {
                break;
            }
        }
        if (i >= letterz.length()) {
            break;
        } else if ((Character.toString(letterz.charAt(i))).equalsIgnoreCase(Character.toString(secretPhrase.charAt(i)))) {
            System.out.print("\n");
            inc++;
        } else if (letterz.equals("!")) {
            gameEnd = true;
        } else {
            System.out.println("No, " + letterz + " is not in the phrase\n");
            wrong++;
        }
    }
}

最佳答案

检查字符串是否与特定字符模式匹配的最简单方法是使用方法String.matches。例如:

guess.matches("[A-Z!]+")

当且仅当 guess 仅包含大写字母或 ! 字符时才返回 true。

关于java - 如何检测输入是否不是字母?我正在编写一个游戏,它需要打印 "not valid input",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58926852/

相关文章:

java - ProcessBuilder对一个jar包中的一个可执行jar作为资源

java - 取消 Observable 的执行 (RxJava 1)

java - 如何在swing中找到异常

java - 为什么 MongoDB Java 驱动程序/Morphia 两次预先设置一个属性?

java - 在 Java 中填充 Hashmap

java - CDI PostConstruct 和可变字段

java - ConnectException(超时)使用 gradle 包装器运行 groovy Koans

java - 在 Java 中创建基元或对象数组

java - 如何在 Java 6 而不是 Java 7 或 8 中编译程序?

java - 记录器格式和 throwable、slf4j、参数