Hangman Java Game打印错误和正确的猜测

时间:2016-12-18 21:10:58

标签: java arrays loops for-loop while-loop

我正在使用我的第一个编程语言Java,而我无法正确猜测正确打印。当输入错误的字母时,它会打印错误!"但是当猜到一个正确的字母时,它会同时打印出#14;正确!"和#34;错了!" ...感谢任何帮助。谢谢。 :)
单词是从数组中提取的。

par(mar=c(4,4,4,4)

}

2 个答案:

答案 0 :(得分:1)

这部分代码:

for (int i = 0; i < word2Char.length; i++){
        if (guess == word2Char[i]){
           wordLength[i] = word2Char[i];
           letterFound = true;
           correctGuesses++;
           System.out.println("Correct!");
        }


    }
       if(!letterFound){
        wrongGuesses++;
    System.out.println("Wrong!");
       }

需要这样:

for (int i = 0; i < word2Char.length; i++){
                if (guess == word2Char[i]){
                   wordLength[i] = word2Char[i];
                   letterFound = true;
                   break;
                }else{
                    letterFound = false;
                }
            }
               if(letterFound == false){
                    wrongGuesses++;
                    System.out.println("Wrong!");
               }else{
                   correctGuesses++;
                   System.out.println("Correct!");
               }

问题是在for循环中,即使letterFound为真,循环也会继续检查每个char。只有在有人猜到最后一个字符时,它才会起作用。所以我所做的是添加一个break语句,这样只要letterFound为真,就会退出for循环。

答案 1 :(得分:1)

请注意,在java中,永远不会使用此分支:

if (solved = false) {
    wrongGuesses++;
}

请将其更改为

    if (solved == false) {
        wrongGuesses++;
        System.out.println("Wrong!");//And then add the wrong print out here
    }

我希望你看看herehere too