我正在尝试运行与输入无关的 while 循环程序。它只是应该告诉我计算的最终值是多少。但是,当我运行该程序时,它什么也不做。它也没有结束。我对正在发生的事情感到困惑?
int x = 90;
while (x < 100)
{
x += 5;
if (x > 95)
x -= 25;
}
System.out.println( "final value for x is " + x);
我正在尝试运行与输入无关的 while 循环程序。它只是应该告诉我计算的最终值是多少。但是,当我运行该程序时,它什么也不做。它也没有结束。我对正在发生的事情感到困惑?
int x = 90;
while (x < 100)
{
x += 5;
if (x > 95)
x -= 25;
}
System.out.println( "final value for x is " + x);
循环永远不会终止,因为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);
发生的事情是你的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 永远不会结束。