我有一個hang子手應用程序,我從我創建的Db中獲取一個隨機單詞,然後將它保存到randomedWord
然後我爲另一個字符串保存randomedWord
,但僅替換爲「_」。顯示此hiddenWord
,以便用戶知道有多少個字符。如何使用replaceAll()正確
當用戶點擊輸入onlicklistener
火災guess()
方法:
我具有以下其中initates具有TextView(userInput)
的值的局部字符串的代碼。然後,如果randomedWord
包含我想猜測到的位置與randomedWord
中的位置相同,但是現在更改爲hiddenWord
,然後再次更新TextView
。
競猜方法:
public void guess()
{
String guess = userInput.getText().toString();
if(randomedWord.contains(guess))
{
hiddenWord = hiddenWord.replaceAll(guess, guess);
this.wordHolder.setText(hiddenWord);
} else
{
showImages();
}
}
我認爲這個問題是這一行:
hiddenWord = hiddenWord.replaceAll(guess, guess);
因爲hiddenWord
只包含 「_」,因此我不能代替(猜,猜),其中首先是什麼被替換,最後是WITHWHAT。
如何將randomedWord
中的相同位置替換爲hiddenWord
?
完全就是我一直在尋找,愛你的人! –
雖然有一個問題,當我使用indexOf時,我是否會得到所有的出現?我的意思是在香蕉中,我會得到[1,3,5]作爲索引嗎?然後你可能會認爲setCharAT(index,guess)會填充所有這些索引,但它並不是,它只是填補了第一次出現。所以,如果我有更多相同的字母它不能正常工作。你對此也有任何意見嗎? –
是的。方法定義看起來像'indexOf(int index,char guess)'。返回字符'guess'的'index'後的第一個發生的索引。所以當我們改變索引的值時,它會沿着字符串迭代來查找每個事件。我測試它,它可以處理多個角色的出現(請參閱http://ideone.com/TeqsH)。 –