处理if语句比较字符串和读取用户输入时遇到问题



我有一个存储为"word"的字符串(来自另一个方法),并希望将其与存储为字符串"guess"的用户输入进行比较。progam根据需要打印出来,并允许用户输入,但它似乎没有读取输入。当输入正确的单词时,它仍然会继续转到开关大小写的默认值,直到"i"值达到0,然后打印该大小写。我知道这可能是一个简单的解决方案,但我已经为此花了一整夜的时间,如果有任何帮助,我将不胜感激。

   String word = chooseRandomWord(words);
   int i = scrambledWord.length();
   Scanner input = new Scanner(System.in);
    System.out.println(i + " Points: What is your guess?");
    String guess;
    guess = input.next();
    if (guess.equals(word)) {
        System.out.println("Congragulitions! your score is " + i + " points");
        System.out.println("the word was " + word);
        System.exit(0);
    }
    if (!guess.equals(word)) {
        while (i >= 0) {
            switch (i) {
                case 0:
                    System.out.println("sorry the word was " + word);
                    System.exit(0);
                default:
                    i--;
                    System.out.println(i + " Points: what is your guess?");
                    guess = input.next();
            }
        }
    }
    else {
        System.exit(0);
    }
}

对于的每次执行

guess = input.next();

在switch/case块中,没有检查是否输入了正确的单词。现在,即使输入了正确的单词,程序也会一直循环,直到变量i达到零,同时对收到的猜测不做任何操作。

相关内容

  • 没有找到相关文章

最新更新