我知道这看起来是不可原谅的罪过,但我有 150 个变量,并且我想创建一个 if 函数来执行以下操作:
if(a != 0 && b != 0 && c != 0....) {
//do this
} else {
//do this instead
}
但是,当我设置其中一个 if 语句条件(即 b!=1
)时,而其他条件仍然相同(a!= 0
, c!=0
),else 函数仍然运行,尽管它应该是初始的 //do this
而不是 //改为执行此操作
(请参阅上面的代码片段)。
我的问题是:
1.是否有原因导致它不起作用?如果有,我该如何解决?
2.有没有一种更简单的方法可以做到这一点,而不必列出所有 150 个变量 !=0 && !=0
etc..?
干杯
最佳答案
这样做肯定会更简单:
List<Integer> values = new ArrayList<Integer>();
values.add(val1);
values.add(val2);
// And so forth...
boolean pass = true;
for (Integer v : values) {
if (v != 0) {
pass = false;
// You could log which variable failed here...
}
}
if (pass) {
// Do something
} else {
// Do something else
}
关于java - Java 中的多个条件 if() 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26978601/