xji*_*mix 1 java loops while-loop
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);
Run Code Online (Sandbox Code Playgroud)
这是我正在为学校写的程序的一部分,我的问题是,当程序进入while循环时,无论我在循环内部做什么,当它退出并打印变量"time"时,该值与值相同设置在开头.我错过了什么吗?(BTW Abc只是一种方法,当我第一次进入循环时应该返回值true,因此时间值应改为time + t)
s = false是一项任务,而不是一项比较.无论如何,你不需要测试是否s == false需要一个else子句(因为原始条件检查s == true).time++来time,因为这将撤消增量(后增量运算符返回变量的前值,所以当你分配一个值回变量,取消增量).更改
else if (s = false) {
time = time++;
}
Run Code Online (Sandbox Code Playgroud)
至
else {
time++;
}
Run Code Online (Sandbox Code Playgroud)
编辑:
正如Anthony Grist评论的那样,即使在这些修复之后,整个while循环也不会被执行,因为y==h在开始时.