假设:3个条件中的1个将为0.
如果我的if语句定义如下:
if ((condition1 == 0) || condition2 == 0) || condition3 == 0)) {
do something
}
和其他3个if语句:
else if (condition1 != 0) {
do something
print which of condition 2 or 3 was 0
}
else if (condition2 != 0) {
do something
print which of condition 1 or 3 was 0
}
else if (condition3 != 0) {
do something
print which of condition 1 or 2 was 0
}
我在考虑在第一个if语句中放置嵌套的if语句,看看三者中哪一个是0.
答案 0 :(得分:0)
想出了什么。尽管如此,使用这么多if语句是多么可怕的做法。 (假设memorizeCondition
存储在ifs的方法之外
if (condition1=0 || condition2 = 0 || condition3 = 0)
if(condition1 = 0)
memorizeCondition = condition1;
if(condition2 = 0)
memorizeCondition = condition2;
if(condition3 = 0)
memorizeCondition = condition3;
else if (condition1 != 0)
memorizeCondition;
calculate condition1;
calculate other condition;
else if (condition2 != 0)
memorizeCondition;
calculate condition2;
calculate other condition;
else if (condition3 != 0)
memorizeCondition;
calculate condition2;
calculate other condition;
答案 1 :(得分:0)
怎么样:
if ((condition1 == 0) || condition2 == 0) || condition3 == 0)) {
do something
} else {
if (condition1 != 0) {
do something
print which of condition 2 or 3 was 0
}
if (condition2 != 0) {
do something
print which of condition 1 or 3 was 0
}
if (condition3 != 0) {
do something
print which of condition 1 or 2 was 0
}
}
如果有超过3个条件,您可以将它们添加到集合中,然后使用stream.filter()删除所有不匹配的条件。