我正在编写一个游戏,如果输入不是字母,我想警告玩家?。例如,如果输入是“(”或“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/