-1

我正在尝试运行与输入无关的 while 循环程序。它只是应该告诉我计算的最终值是多少。但是,当我运行该程序时,它什么也不做。它也没有结束。我对正在发生的事情感到困惑?

int x = 90;
    while (x < 100)
    {
        x += 5;
        if (x > 95)
            x -= 25;
    }
    System.out.println( "final value for x is " + x);
4

2 回答 2

1

循环永远不会终止,因为x永远不会达到 100。如果您想亲自查看发生了什么x,请在循环中添加一行,使代码如下所示:

int x = 90;
while (x < 100) {
    System.out.println("x = " + x);  // More useful output here...
    x += 5;
    if (x > 95)
        x -= 25;
}
System.out.println("final value for x is " + x);
于 2013-10-26T21:52:23.373 回答
0

发生的事情是你的while循环永远不会停止,所以它永远不会打印一些东西,尝试在循环内更改你的代码。

你怎么能意识到这一点?

将一些打印出来并放入while循环中:

    int x = 90;
    System.out.println("Before the while");
    while (x < 100) {
        System.out.println("Inside the while");
        x += 5;
        if (x > 95)
            x -= 25;
    }
    System.out.println("final value for x is " + x);

迭代 1:

x = 95

迭代 2:

x = 100
if condition is true, so x = 75

...因此,每当 x 达到 100 时,条件将使其变为 75。因此,while 永远不会结束。

于 2013-10-26T21:47:58.440 回答