当前位置: 首页 > 面试题库 >

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

谢墨竹
2023-03-14
问题内容
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,则他们猜到了数字。如果不是,那么他们还没有猜到这个数字。这就是游戏的前提。有人可以帮助我修复我的代码,因此无论如何它都不会输出相同的内容?


问题答案:

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



 类似资料:
  • 问题内容: 我知道该怎么做,以及它如何与while循环配合使用,但是while循环代码是否相同,无论do是否存在? 问题答案: 考虑以下: 和 第二种形式至少执行一次,然后检查!为此,您必须编写一个循环:

  • 与while循环顶部测试循环条件的for和while循环不同, do...while循环do...while循环底部检查其条件。 do...while循环类似于while循环,除了do ... while循环保证至少执行一次。 语法 (Syntax) Perl中do...while循环的语法是 - do { statement(s); }while( condition ); 应该注意的是

  • 与while循环顶部测试循环条件的for和while循环不同,Objective-C编程语言中的do...while循环检查循环底部的条件。 do...while循环类似于while循环,除了do ... while循环保证至少执行一次。 语法 (Syntax) Objective-C编程语言中do...while循环的语法是 - do { statement(s); } while( co

  • Pascal中的while-do循环语句允许重复计算,直到满足某些测试条件。 换句话说,只要给定条件为真,它就会重复执行目标语句。 语法 (Syntax) while-do循环的语法是 - while (condition) do S; 其中, condition是布尔值或关系表达式,其值为true或false, S是BEGIN ... END块中的简单语句或语句组。 例如, while num

  • do-while语句用于模拟其他编程语言中存在的简单while循环。 语法 (Syntax) do-while语句的语法如下 - do while (condition) statement #1 statement #2 ... end 通过首先计算条件表达式(布尔值)来执行while语句,如果结果为true,则执行while循环中的语句。 从while语句中的条件

  • 与while循环顶部测试循环条件的while循环不同, do-while循环do-while循环底部检查其条件。 do-while循环类似于while循环,除了do-while循环保证至少执行一次。 语法 (Syntax) 以下是do-while循环的语法。 do { statement(s); } while( condition ); 请注意,条件表达式出现在循环的末尾,因此循环中的