0
我正在讓自己成爲Hang子手遊戲,基本上我唯一遇到的問題是每次我猜字母都會翻倍。例如,如果單詞是「Hello World」,並且我猜「l」,它會打印出 「_ _ ll _ _ _ _ l _」,然後如果我猜測下一個「w」 __ l _ l _ _ _ _ _ _ _ _ _ _ _「(這是hheelllloo wwoorrlldd)。串中的字母意外翻倍
我的代碼如下所示。我的想法是,這是因爲我有一個嵌套的for
循環,但我不知道如何去做這件事。
// This checks previous letters given through String guessedlet.
for(int spot = 0; spot < wrd[0].length(); spot++)
{
for (int spot2 = 0; spot2 <= guessedlet.length() - 1; spot2++)
{
char Spot = wrd[0].charAt(spot);
String wordletter = Character.toString(Spot);
char Spot2 = guessedlet.charAt(spot2);
String guessedletter = Character.toString(Spot2);
for(int spot3 = 0; spot3 < guessedlet.length(); spot3++)
{
char Spot3 = guessedlet.charAt(spot3);
String guessedletter2 = Character.toString(Spot3);
if(letter.equals(guessedletter2))
{
break;
}
}
if(guessedletter.equals(wordletter))
{
wordletter = guessedletter;
}
else if(guessedletter.equals(" "))
{
wordletter = "";
}
else if(!(guessedletter.equals(wordletter)))
{
wordletter = "_";
}
out.print(wordletter + " ");
}
}
爲什麼字母被複制?
你的意思是,如標題,其中「什麼時候」翻倍? – Andreas
爲什麼你有兩個外環?這可能是導致你的問題。只需將猜測的字母存儲在Set中,然後循環使用(2個單詞=句子),並打印出Set中的字母(使用contains())。 – Andreas
如果第二個猜測是'w',爲什麼要打印'H'? – Andreas