我有一个存储为"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达到零,同时对收到的猜测不做任何操作。