【发布时间】:2015-11-09 13:18:24
【问题描述】:
int time=0;
int x=1;
int w=2;
int y=1;
int h=1;
int t=6;
while (x != w && y != h) {
boolean s = Abc (a,b,c,time);
if (s == true) {
time = time+t;
x++;
}
else if (s = false) {
time = time++;
}
}
System.out.println(time);
这是我为学校编写的程序的一部分,我的问题是当程序进入 while 循环时,无论我在循环内做什么,当它退出并打印变量“time”时,值都是相同的作为开始时设置的值。我错过了什么吗? (顺便说一句 Abc 只是一个方法,当我第一次进入循环时应该返回值 true,因此应该将 time 的值更改为 time+t)
【问题讨论】:
-
试试
else if (s == false)(即使有点过头了) -
(s = false) 应该是:== false
-
s = false->s == false否则它将设置s为 false 而不是比较它,time = time++也不做任何事情。请改用time++ -
你发布的代码永远不会进入while循环,因为
y和h是相等的。 -
你永远不需要比较布尔值;
if (s) { ... } else { ... };
标签: java loops while-loop