为什么我的猜谜游戏没有出错,却不能正常工作



我从一本书中复制了一个猜谜游戏,你应该猜程序生成的数字,它会告诉你你是过低还是过高,但我的程序一直告诉我我过低,即使我输入了负数或类似50的数字。


public class Hilo {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String playAgain = "";
do {
// Create a random number for the user to guess
int theNumber = (int)(Math.random() * 100 + 1);    
// System.out.println( theNumber );
int guess = 0;
while (guess != theNumber) {
System.out.println("Guess a number between 1 and 100:");
guess = scan.nextInt();
if (guess < theNumber)
System.out.println(guess + " is too low. Try again.");
else if (guess > theNumber)
System.out.println(guess + " is too high. Try again.");
else
System.out.println(guess + " is correct. You win!");
}   // End of while loop for guessing
System.out.println("Would you like to play again (y/n)?");
playAgain = scan.next();
} while (playAgain.equalsIgnoreCase("y"));
System.out.println("Thank you for playing! Goodbye.");
scan.close();
}
}```

edit:

11过低。请重试。猜一个介于1和100之间的数字:2.2太低。请重试。猜一个介于1和100之间的数字:3.3太低。请重试。猜一个介于1和100之间的数字:4.4太低。请重试。猜一个介于1和100之间的数字:5.5太低。请重试。猜一个介于1和100之间的数字:6.6太低。请重试。猜一个介于1和100之间的数字:99太低。请重试。猜一个介于1和100之间的数字:8.8太低。请重试。猜一个介于1和100之间的数字:7.7太低。请重试。猜一个介于1和100之间的数字:1010太低了。请重试。猜一个介于1和100之间的数字:1111太低。请重试。猜一个介于1和100之间的数字:1212太低。请重试。猜一个介于1和100之间的数字:1313太低。请重试。猜一个介于1和100之间的数字:1414太低。请重试。猜一个介于1和100之间的数字:1515太低。请重试。猜一个介于1和100之间的数字:1616太低。请重试。猜一个介于1和100之间的数字:1717太低了。请重试。猜一个介于1和100之间的数字:1818太低了。请重试。猜一个介于1和100之间的数字:1919太低。请重试。猜一个介于1和100之间的数字:2020太低了。请重试。猜一个介于1和100之间的数字:2121太低。请重试。猜一个介于1和100之间的数字:2222太低。请重试。猜一个介于1和100之间的数字:2323太低。请重试。猜一个介于1和100之间的数字:2424太低。请重试。猜一个介于1和100之间的数字:2525太低。请重试。猜一个介于1和100之间的数字:2626太低。请重试。猜一个介于1和100之间的数字:2727太低。请重试。猜一个介于1和100之间的数字:2828太低。请重试。猜一个介于1和100之间的数字:2929太低。请重试。猜一个介于1和100之间的数字:3030太低了。请重试。猜一个介于1和100之间的数字:3131太低。请重试。猜一个介于1和100之间的数字:3232太低。请重试。猜一个介于1和100之间的数字:3333太低。请重试。猜一个介于1和100之间的数字:3434太低。请重试。猜一个介于1和100之间的数字:3535太低。请重试。猜一个介于1和100之间的数字:3636太低。请重试。猜一个介于1和100之间的数字:3737太低。请重试。猜一个介于1和100之间的数字:3838太低。请重试。猜一个介于1和100之间的数字:3939太低。请重试。猜一个介于1和100之间的数字:

4040太低了。请重试。猜一个介于1和100之间的数字:4141太低。请重试。猜一个介于1和100之间的数字:4242太低。请重试。猜一个介于1和100之间的数字:4343太低。请重试。猜一个介于1和100之间的数字:4444太低。请重试。猜一个介于1和100之间的数字:4545太低了。请重试。猜一个介于1和100之间的数字:4646太低。请重试。猜一个介于1和100之间的数字:

4747太低了。请重试。猜一个介于1和100之间的数字:4848太低。请重试。猜一个介于1和100之间的数字:4949太低。请重试。猜一个介于1和100之间的数字:5050太低了。请重试。猜一个介于1和100之间的数字:5151太低。请重试。猜一个介于1和100之间的数字:5252太低。请重试。猜一个介于1和100之间的数字:5353太低。请重试。猜一个介于1和100之间的数字:5454太低。请重试。猜一个介于1和100之间的数字:5555太低。请重试。猜一个介于1和100之间的数字:5656太低。请重试。猜一个介于1和100之间的数字:5757太低。请重试。猜一个介于1和100之间的数字:5858太低。请重试。猜一个介于1和100之间的数字:5959太低。请重试。猜一个介于1和100之间的数字:6060太低了。请重试。猜一个介于1和100之间的数字:6161太低。请重试。猜一个介于1和100之间的数字:6262太低。请重试。猜一个介于1和100之间的数字:6565太低了。请重试。猜一个介于1和100之间的数字:6363太低。请重试。猜一个介于1和100之间的数字:6464太低。请重试。猜一个介于1和100之间的数字:6565太低了。请重试。猜一个介于1和100之间的数字:6666太低。请重试。猜一个介于1和100之间的数字:6767太低。请重试。猜一个介于1和100之间的数字:6868太低。请重试。猜一个介于1和100之间的数字:6.6太低。请重试。猜一个介于1和100之间的数字:6969太低。请重试。猜一个介于1和100之间的数字:8080太低了。请重试。猜一个介于1和100之间的数字:7.0707太低。请重试。猜一个介于1和100之间的数字:

70太低了。请重试。猜一个介于1和100之间的数字:7070太低了。请重试。猜一个介于1和100之间的数字:7171太低。请重试。猜一个介于1和100之间的数字:7272太低。请重试。猜一个介于1和100之间的数字:7373太低。请重试。猜一个介于1和100之间的数字:7474太低。请重试。猜一个介于1和100之间的数字:7575太低了。请重试。猜一个介于1和100之间的数字:7676太低。请重试。猜一个介于1和100之间的数字:7777太低。请重试。猜一个介于1和100之间的数字:7878太低。请重试。猜一个介于1和100之间的数字:7979太低了。请重试。猜一个介于1和100之间的数字:8080太低了。请重试。猜一个介于1和100之间的数字:8181太低。请重试。猜一个介于1和100之间的数字:8282太低。请重试。猜一个介于1和100之间的数字:8383太低了。请重试。猜一个介于1和100之间的数字:8484太低。请重试。猜一个介于1和100之间的数字:8585太低了。请重试。猜一个介于1和100之间的数字:8686太低了。请重试。猜一个介于1和100之间的数字:8787太低了。请重试。猜一个介于1和100之间的数字:8888太低。请重试。猜一个介于1和100之间的数字:8989太低了。请重试。猜一个介于1和100之间的数字:9090太低了。请重试。猜一个介于1和100之间的数字:9191太低了。请重试。猜一个介于1和100之间的数字:9292太低。请重试。猜一个介于1和100之间的数字:9393太低。请重试。猜一个介于1和100之间的数字:9494太低。请重试。猜一个介于1和100之间的数字:9595是正确的。你赢了!你想再玩一次吗(y/n)?y猜一个介于1和100之间的数字:4.4太低。请重试。猜一个介于1和100之间的数字:

我建议您在while循环内但在CCD_4循环外尝试do-while,以帮助您排除故障。

最新更新