Rather than writing:
if (someExpression) {
return true;
} else {
return false;
}
Write:
return someExpression;
As for the expression itself, something like this:
boolean atLeastTwo(boolean a, boolean b, boolean c) {
return a ? (b || c) : (b && c);
}
or this (whichever you find easier to grasp):
boolean atLeastTwo(boolean a, boolean b, boolean c) {
return a && (b || c) || (b && c);
}
It tests a
and b
exactly once, and c
at most once.