如果输入已知,则继续询问输入

我有这个代码


public void givenLetter(){

        givenLetter = player1.giveLetter();

        if(guessedLetters.containsKey(givenLetter)) {

            return;

        }

}

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


例如:


猜测字母 = {"A", "B"}


player1.giveLetter() 返回“A”


运行 player1.giveLetter()


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


运行 player1.giveLetter()


player1.giveLetter() 返回“C”


做剩下的方法


尚方宝剑之说
浏览 101回答 2
2回答

回首忆惘然

如果我正确地阅读了您的问题,您希望继续运行该giveLetter()函数,直到获得在 guessedLetters 映射中找不到的输入。为此,我建议使用while循环。一个while循环将持续到给定的条件false。例如:int i = 0;while(i / 2 != 1) {    i ++;}此循环将在i /2 != 1为真时运行。这对于 i = 0 和 i = 1 是正确的,对于 i = 2 是错误的 - 所以它会停止。所以考虑到你的问题,我建议: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}

偶然的你

像这样的循环:public void givenLetter(){    while (true) {        String givenLetterString = player1.giveLetter();        if(!guessedLetters.containsKey(givenLetterString))             return;    }}它将一直运行,直到集合中不存在该字母为止。while (true)创建一个无限循环,只有在return执行语句时它才会停止。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java