我有这个代码

public void givenLetter(){
        givenLetter = player1.giveLetter();
        if(guessedLetters.containsKey(givenLetter)) {
            return;
        }
}


如果返回的字母在guessedLetters哈希图中已经已知,则需要继续执行player1.giveLetter()

例如:

guestedLetters = {“ A”,“ B”}

player1.giveLetter()返回“ A”

运行player1.giveLetter()

player1.giveLetter()再次返回“ A”

运行player1.giveLetter()

player1.giveLetter()返回“ C”

做剩下的方法

最佳答案

如果我正确地阅读了您的问题,则希望继续运行giveLetter()函数,直到获得在guessedLetters映射中找不到的输入为止。

为此,我建议使用while循环。 while循环将一直运行,直到给定条件为false为止。

例如:

int i = 0;
while(i / 2 != 1) {
    i ++;
}


i /2 != 1为true时,将运行此循环。对于i = 0和i = 1而言为true,对于i = 2而言为false-因此它将停止。

因此,鉴于您的问题,我建议:

public void givenLetter(){
    String givenLetter = player1.giveLetter(); // Get the letter
    while (guessedLetters.containsKey(givenLetter)) {  // While the given letter is found, continue to run the method.
        givenLetter = player1.giveLetter();
    }  // Exit the loop once the given letter is not found
    // Rest of function here
}

10-06 03:12