为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

尚方宝剑之说 2021-11-24 15:13:04
我有这个代码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”做剩下的方法
查看完整描述

2 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

如果我正确地阅读了您的问题,您希望继续运行该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

}


查看完整回答
反对 回复 2021-11-24
?
偶然的你

TA贡献1841条经验 获得超3个赞

像这样的循环:


public void givenLetter(){

    while (true) {

        String givenLetterString = player1.giveLetter();

        if(!guessedLetters.containsKey(givenLetterString)) 

            return;

    }

}

它将一直运行,直到集合中不存在该字母为止。


while (true)创建一个无限循环,只有在return执行语句时它才会停止。


查看完整回答
反对 回复 2021-11-24
  • 2 回答
  • 0 关注
  • 100 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信