2015-01-16 34 views
0

我想做一個hang子手遊戲。 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的建議創建一個新的字符串。

但是它會不會用s代替hiddenWord中的所有問號,而不是隻在用戶正確猜測的字母在隱藏字符中找到的索引處替換它們?

相關問題