小编典典

为什么此do-while循环无法产生正确的输出?

java

public static void main(String[] args) throws IOException {

    System.out.println("Hello, come and play a game with me!");

    int x = 5;
    int guess;

    do {
        System.out.println("Please input a number...");
        guess = System.in.read();
        guess = System.in.read();
        if (guess < 5) {
            System.out.println("You guessed the number!");
            break;
        }
    } while (guess > 5);
}

所以我在这里写了一些代码。它本来应该是一个猜谜游戏,但是无论我输入什么内容,它始终会在输出中显示“请输入数字…”,这与我输入的内容无关。基本上,如果“猜测”大于5,则他们猜到了数字。如果不是,那么他们还没有猜到这个数字。这就是游戏的前提。有人可以帮助我修复我的代码,因此无论如何它都不会输出相同的内容?


阅读 373

收藏
2020-12-03

共1个答案

小编典典

System.in.read();给你字符。因此,当您输入“
1”时,它会给您其char值49。因此您不能使用数字输入整数5。所以改变你的阅读方式。您可以使用Scanner

2020-12-03