简化布尔表达式
Simplify boolean expression
我有这段代码,eclipse 告诉我可以简化布尔表达式。
knightTurn == true && occupied ==true
和
knightTurn == true
boolean knightTurn 和 boolean occupied 在代码前面都设置为 false。
boolean knightTurn=false
boolean occupied=false
@Tags({"passed"})
public void passed ()
{
final int x = 50;
if (knightTurn == true && occupied == true) {
for (int i=0; i<x; i++) {
standKnight.moveAvatar(i, 0);
avatarEditor.refresh();
i++;
}
occupied = false;
}
}
@Tags({"failed"})
public void failed () {
final int x = 35;
if (knightTurn == true) {
for (int i=0; i<x; i++) {
standKnight.moveAvatar(i, i/2);
avatarEditor.refresh();
i++;
}
occupied = false;
}
代码仍然可以正常运行,但我该如何整理这一点并使其更简单?
对于布尔值,您可以直接在表达式中使用它,而无需将其显式计算为真。
if (someBooleanVariable && someOtherBoolean){
// run condition
}
if (knightTurn == true && occupied == true)
可以写成
if (knightTurn && occupied)
这也减少了犯这些错误的可能性
if (knightTurn = true)
我有这段代码,eclipse 告诉我可以简化布尔表达式。
knightTurn == true && occupied ==true
和
knightTurn == true
boolean knightTurn 和 boolean occupied 在代码前面都设置为 false。
boolean knightTurn=false
boolean occupied=false
@Tags({"passed"})
public void passed ()
{
final int x = 50;
if (knightTurn == true && occupied == true) {
for (int i=0; i<x; i++) {
standKnight.moveAvatar(i, 0);
avatarEditor.refresh();
i++;
}
occupied = false;
}
}
@Tags({"failed"})
public void failed () {
final int x = 35;
if (knightTurn == true) {
for (int i=0; i<x; i++) {
standKnight.moveAvatar(i, i/2);
avatarEditor.refresh();
i++;
}
occupied = false;
}
代码仍然可以正常运行,但我该如何整理这一点并使其更简单?
对于布尔值,您可以直接在表达式中使用它,而无需将其显式计算为真。
if (someBooleanVariable && someOtherBoolean){
// run condition
}
if (knightTurn == true && occupied == true)
可以写成
if (knightTurn && occupied)
这也减少了犯这些错误的可能性
if (knightTurn = true)