【发布时间】:2014-11-17 17:42:10
【问题描述】:
我知道这似乎是不可原谅的罪过,但我有 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 而不是 //do this instead(参见上面的代码 sn-p)。
我的问题是:
1. 是否有它无法正常工作的原因,如果有,我该如何解决?
2. 有没有更简单的方法这样做而不必列出所有 150 个变量 !=0 && !=0 etc..?
干杯
【问题讨论】:
-
如果您使用数组或集合来存储数据而不是 150 个变量,那么是的,这更容易:)。
-
你必须包装你的数据结构。你的代码中有 150 个变量预示着灾难即将到来,我不想活着见证结果。
-
这只是意味着
b条件不是产生false语句的条件。也许你想要“或”而不是“和”? -
至于你的错误,你是说当你的变量之一不为0时,else语句运行?那是因为你使用 &&。所有这些都必须是真实的才能通过。如果您希望它在只有一个为真时通过,请使用 ||。
-
我看到 cobertura 抱怨分支覆盖率......
标签: java if-statement