【发布时间】:2011-03-05 19:13:26
【问题描述】:
一位面试官最近问我这个问题:给定三个布尔变量 a、b 和 c,如果三个中至少有两个为真,则返回真。
我的解决方案如下:
boolean atLeastTwo(boolean a, boolean b, boolean c) {
if ((a && b) || (b && c) || (a && c)) {
return true;
}
else{
return false;
}
}
他说这可以进一步改进,但是如何呢?
【问题讨论】:
-
内联return语句。
-
atLeastTwo(iWantYou, iNeedYou, imEverGonnaLoveYou) -
Thorbjørn:C 不使用零/非零作为布尔值吗?我认为这甚至在 C 中也行不通,例如
atLeastTwo(0,2,0)。 -
为什么人们会赞成最琐碎的问题?
-
通俗易懂的问题获得了很多赞成票。非常具体和技术性的问题不会。
标签: java boolean boolean-logic