我有一个字符串存储为"字" (来自另一种方法)并希望将其与存储为String" guess"的用户输入进行比较。程序根据需要打印出来并让用户输入,但它似乎没有读取输入。当输入正确的单词时,它仍然会转到开关盒上的默认值,直到" 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);
}
}
答案 0 :(得分:1)
每次执行
guess = input.next();
在开关/案例块中,不检查是否输入了正确的单词。就像现在一样,即使输入了正确的单词,程序也会一直循环,直到变量i达到零,同时对接收的猜测一无所知。