我试图将用户输入的字符与随机生成的字词进行比较以查看它是否匹配... 我可以用它来比较它们吗?
if (playerChoice.equals(g.originalWord.charAt(7))) { //
g.revealHiddenLetter();
}
else {
System.out.println(g.guessThisWord);
guesses--;// if player is wrong they lose a guess
System.out.println("Guesses Left: " + guesses);
}
答案 0 :(得分:1)
比较字符使用==符号而不是equals()方法,因为在java中字符表示为整数。所以你想要做的事情可以如下:
if (playerChoice == g.originalWord.charAt(7)) { //
g.revealHiddenLetter();
}
else {
System.out.println(g.guessThisWord);
guesses--;// if player is wrong they lose a guess
System.out.println("Guesses Left: " + guesses);
}
答案 1 :(得分:0)
迭代隐藏单词中的字符,您可以使用如下方法:
private boolean charInWord(char playerChoice) {
for(int i = 0; i < originalWord.length(); i++) {
if(originalWord.charAt(i) == playerChoice) {
return true;
}
}
return false;
}
如果隐藏字中存在字母,则返回true。
答案 2 :(得分:0)
解决此问题的更简单方法是将字符转换为长度为1的String并使用现有的String.contains()方法
char guess = 'h';
String originalWord = "hello";
System.out.println(originalWord.contains(Character.toString(guess)));