Итак, я изучаю Java уже чуть больше месяца, и у меня есть игра-ловушка, которую я делаю, но у меня возникают проблемы с заменой символов в моей строке. У меня написано, что у вас есть две строки, одна называется «слово», которое содержит слово, которое нужно угадать, а другая называется «клон», который является клоном слова, заменяющим все символы подчеркиванием. Затем, когда вы угадываете букву, она проверяет строку «слово», чтобы убедиться, что она содержит ее, и если она это делает, она заменяет подчеркивание в «клоне» этой буквой.
while (this.guessesLeft >= 0) {
char letter;
int letterIndex;
getGuess();
if(this.word.contains(this.letterGuessed)) {
StringBuilder newString = new StringBuilder(this.clone);
letterIndex = this.word.indexOf(this.letterGuessed);
letter = this.word.charAt(letterIndex);
newString.setCharAt(letterIndex, letter);
this.clone = newString.toString();
} else {
this.guessesLeft--;
}
printGameBoard();
}
Проблема, с которой я сталкиваюсь, заключается в том, что если вы угадываете букву, а строка содержит два символа, она показывает только один. Например, вот мой вывод, если используется слово «буррито».
Guess a letter: r
bur____
You have 5 guess left before you die!
Guess a letter: i
bur_i__
You have 5 guess left before you die!
Guess a letter: r
bur_i__
You have 5 guess left before you die!
Как бы я отредактировал игровую логику c так, чтобы, если угадать букву «r», он ставил оба R в строке, а не только один? Заранее спасибо за помощь!