Я почти закончил свою игру Hangman, но у меня возникла проблема с заменой правильно обозначенных букв «подчеркивания» этими буквами. Когда я выбираю правильную букву, создается бесконечный цикл. Любая помощь приветствуется.Hangman Java - замена поддеревьев
// public String phrase;
// public String newMask;
public boolean showLetter(String letter)
{
phrase = phrase.toUpperCase();
int pos = phrase.indexOf(letter);
if(pos != -1) { //If the letter is part of the phrase.
do {
//Letter and phrase don't change.
//Cut the "a"
pos = phrase.indexOf(letter);
//Make a new string and take the digit out.
//I must break out of the loop.
//add code here
newMask = phrase.substring(0,pos)+phrase.charAt(pos)+phrase.substring(pos);
} while (pos != -1);
setValue(mask);
} else {
return false;
}
return true;
}
Почему это НЕ будет создавать бесконечные петли ??? 'letter' всегда будет внутри цикла. Следовательно, 'pos' не будет изменен. Тогда как управление выйдет из цикла? Не понимаю, что такое использование цикла? – Rehman
Использование цикла - это заменить все необходимые символы подчеркивания правильными буквами. Например, потому что буква «Все хорошо, что хорошо заканчивается!», Если я выбираю «e», все символы подчеркивания, которые представляют «e», меняются на e. Вы знаете, как я могу это сделать? –
Не можете использовать метод String 'replace()'? – Rehman