2016-05-31 47 views
1
if(letterGuessBoolean == true) { 
     System.out.println("Nice job! That was correct!"); 
     for (position = 0; position < pickRandomWord.length(); position++) { 
     if (pickRandomWord.charAt(position) == letterGuess) { 
      System.out.print(letterGuess); 
     } 
     else { 
      System.out.print(unknownLetters); 
     } 
     } 
    } 

循環確實保存單詞,未知的字符永遠不會保存正確的方式。JAVA - Hangman遊戲,保持在未知字母輸入正確的字母

+0

對不起,忽略updateLetterGuess = letterGuess;它什麼也沒做,忘記刪除它。 –

+0

可能需要查看代碼的其餘部分,如何存儲被猜測的字母? –

+0

我沒有看到任何爲for循環增加索引之外的變量。你能向我們展示更多你的代碼嗎? – RamenChef

回答

1

你只打印出latestly猜到了信,因爲這是要檢查的唯一的事情:你需要以某種方式,有的地方還記得,其中字母先前已經猜到

pickRandomWord.charAt(position) == letterGuess 

。一種變體可以是以下幾種:

String pickRandomWord = ""; // select your random word 
char[] displayOutput = new char[pickRandomWord.length()]; 
for(int n = 0; n < displayOutput.length; ++n) 
    displayOutput[n] = '-'; 

/* ... */ 

if(letterGuessBoolean) // do not compare against true, if it is already boolean! 
{ 
    for(int position = 0; position < pickRandomWord.length(); ++position) 
    { 
     if (pickRandomWord.charAt(position) == letterGuess) 
     { 
      displayOutput[position] = letterGuess; 
     } 
     System.out.print(displayOutput[position]); 
    } 
} 
+0

在那裏我正在考慮布爾標誌,但是用char []它可能更容易100x更改值。這就是爲你過度想象 –

+0

@Aconcagua有無論如何,如果你有時間,我可以真的很快地告訴你?我想我幾乎可以擁有它,但如果沒問題,我仍然需要幫助? –

+0

@EvanVukasinovic對不起,不,請參閱[這裏](http://meta.stackexchange.com/questions/431/any-way-to-send-a-personal-message-to-another-user)或[這裏] (http://meta.stackexchange.com/questions/57537/how-do-i-contact-other-users)。只有在這裏留下評論的選項 - 或聊天(但現在是2:45,現在我要睡一覺了......)。 – Aconcagua