19 HAZİRAN 2010, CUMARTESİ
En az iki kontrol üç booleans dışarı doğru
Bir muhabirin son günlerde bana bu soruyu sordu: üç boolean değişkenler, eğer bu üçlü arasında en az iki doğruysa a, b, c, true değerini döndürür.
Benim çözümüm şöyle:
boolean atLeastTwo(boolean a, boolean b, boolean c) {
if ((a && b) || (b && c) || (a && c)) {
return true;
}
else{
return false;
}
}
Bu daha da geliştirilebilir, ama nasıl dedi?
CEVAP
19 HAZİRAN 2010, CUMARTESİ
Yazı: yerine
if (someExpression) {
return true;
} else {
return false;
}
Yazma:
return someExpression;
İfadenin kendisi için olduğu gibi, şöyle bir şey:
boolean atLeastTwo(boolean a, boolean b, boolean c) {
return a ? (b || c) : (b && c);
}
ya bu daha kolay kavramak için hangi bulmak ():
boolean atLeastTwo(boolean a, boolean b, boolean c) {
return a && (b || c) || (b && c);
}
a
b
tam olarak bir kez test eder, ve 12* *en fazla bir kez.
Referanslar
Bunu Paylaş:
Eğer bir dize Perl boş olup olmadığını...
Null değerleri kontrol etmek için doğr...
Neden kontrol yanlış bir şifre daha do...
Objective-C boş bir dize kontrol etmek...
Bu ise 2 c-string bellekte üst üste ko...