SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CareyHolzman

    CareyHolzman

    24 Ocak 2008
  • failblog

    failblog

    17 HAZİRAN 2008
  • Drakinen

    Drakinen

    1 EYLÜL 2008