2015-01-16 3 views
0

Я пытаюсь сделать игру палача. s - строка, содержащая догадки пользователя, а hiddenWord - это строка всех вопросительных знаков, пока пользователь не угадает одну из букв правильно. Как я могу заменить вопросительные знаки на строку s?Можно ли заменить какой-либо символ в строке другой строкой?

public void correctGuess() 
{ 
    hiddenWord.replace ("?", s); 
    JOptionPane.showMessageDialog (null, "That was correct! Guess again."); 
} 
+0

Вы не можете заменить символ в строке. Вы можете, однако, построить новую String, которая содержит содержимое предыдущей строки, только с замененными символами. Вы делаете это с помощью 'replace'. –

ответ

2

replace method не меняет исходный String, который неизменен. Он возвращает измененный String. Попробуйте

hiddenWord = hiddenWord.replace("?", s); 
0

Вы не можете просто заменить символы в строках в java, так как строки неизменяемы. Что вы можете сделать, так это создать новую строку, как предложил rgettman.

Но не заменит ли все вопросительные знаки в hiddenWord на s вместо того, чтобы заменять их только указателем, где буква, которую пользователь правильно угадал, найден в скрытомWord?

Смежные вопросы