我正在用JAVA编写程序,需要更改一个布尔值,但是我无法修复它。
布局如下
while(statement){
Boolean behind = true;
if (behind == true){
do something
behind = false;
}
if (behind == false){
do something else
behind = true;
}
}
所以基本上我的程序需要迭代“做某事”和“做某事”。但是我认为我的布尔值behind
不会被if语句更改,因为behind
的“版本”仅存在于语句中。关于如何解决这个问题有什么建议吗?
答案 0 :(得分:2)
var == true/false
。。这可能会降低性能并使代码不清楚。使用var
代替var == true
,使用!var
代替var == false
。else
语句,而不是检查条件的相反情况。if (behind) {
//...
behind = false;
} else {
//...
behind = true;
}
3. **Define the boolean outside `while`.**
这也解决了您的问题,因为您无需“重新检查”变量。
答案 1 :(得分:2)
Boolean behind = true;
while(statement){
if (behind){
do something;
behind = false;
}else{
do something else;
behind = true;
}
}
答案 2 :(得分:1)
在while块之前定义布尔值。
Boolean behind = true;
while(statement){
if (behind){
do something;
behind = false;
} else {
do something;
behind = true;
}
}