【发布时间】:2017-06-28 23:01:57
【问题描述】:
我创建了一个刽子手游戏。
我想问我如何检查用户是否输入了相同的字母。一切正常,但没有检查号码是否已输入。
if (word.contains(input)) {
i = i - 1;
char[] charOfGameBoard = gameBoard.toCharArray();
for (int x = 0; x < word.length(); x++) {
if (word.charAt(x) != input.charAt(0)) {
continue;
}
int j = x * 2;
charOfGameBoard[j] = input.charAt(0);
}
gameBoard = String.valueOf(charOfGameBoard);
}
我不能发太多帖子。
word = "房子"
charOfGameBoard= _ _ _ _ _
userinput="h" //正确
charOfGameBoard =h _ _ _ _
userinput= "h" // 此时不正确
charOfGameBoard =h _ _ _ _
【问题讨论】:
-
为什么不保留一个猜测的字母数组,并在检查单词是否包含输入之前查看猜测的字母是否包含输入?
-
这将是我的解决方案,但我想看看是否有人有更好的解决方案。因为拥有一个包含所有字母的数组是不干净的。但我认为将输入字母保存在数组中。
-
为什么不呢?此外,hangman 并不是一个内存密集型或资源消耗型应用程序。我建议您将值存储在一个数组中并检查它是否在数组中,然后再针对单词进行测试
-
我不知道如何检查一个字母是否被输入了 2 次。因为第一次是允许的,第二次是不允许的。也许有一个空数组?
-
从一个空数组开始,即'lettersGuessed',查看lettersGuessed是否包含'input',如果不包含,则将输入添加到lettersGuessed数组中。下次猜测同一封信时,它将检查“lettersGuessed”,您将能够阻止它进入您在上面发布的“if”语句
标签: java if-statement input evaluation