Menu
Coddy logo textTech

Logical Operators Part 4

CoddyのJavaジャーニー「基礎」セクションの一部 — レッスン 26/73。

ド・モルガンの法則は、NOTを含む式を簡略化するのに役立つ規則です。論理式を扱う際、それらを簡略化したり並べ替えたりする必要があることがあります。

and で結ばれた2つの条件の前に not がある場合、それを2つの別々の部分に分割することができます。andor になり、各部分にそれぞれの not が付きます:

!(A && B)(!A) || (!B) と同じです。

例えば:

// 数値が(1から10の間)ではないかどうかを確認しましょう
int number = 15;

// これら2つの式は等価です:
boolean result1 = !(number >= 1 && number <= 10);
boolean result2 = !(number >= 1) || !(number <= 10);

System.out.println(result1);  // true
System.out.println(result2);  // true

その逆もまた正しいです:!(A || B)(!A) && (!B) と同じです

例えば:

// ある人が(学生でもなく、雇用もされていない)かどうかを確認する
boolean isStudent = false;
boolean isEmployed = false;

// これら2つの式は等価です:
boolean result1 = !(isStudent || isEmployed);
boolean result2 = !(isStudent) && !(isEmployed);

System.out.println(result1);  // true
System.out.println(result2);  // true
challenge icon

チャレンジ

初心者

ペットショップが、顧客にペットを販売できるかどうかを判断するシステムを作成するのを手伝っています。

次の変数を初期化してください:

  • true を持つ hasLicense
  • false を持つ hasSpace
  • true を持つ hasExperience

次の論理式を記述して、以下を判定してください:

  • canSellRegularPet: 顧客はライセンスまたは経験のいずれかが必要で、かつスペースが必要です
  • canSellExoticPet: 顧客はライセンスと経験の両方が必要で、かつスペースが必要です
  • cannotSellAnyPet: 顧客はライセンスも経験もなく、またはスペースがありません
  • result: canSellRegularPet または canSellExoticPet または cannotSellAnyPet

ヒント: 変数がたまたま保持している値ではなく、要件が記述している条件を記述してください。"Must have space" → hasSpace、"has NO space" → !hasSpace! は、"has NO license" → !hasLicense のように、要件が変数名の状態と逆である場合にのみ使用してください。

自分で試してみよう

public class Main {
    public static void main(String[] args) {
        // 変数を初期化する
        

        // 条件を計算する
        boolean canSellRegularPet = 
        boolean canSellExoticPet = 
        boolean cannotSellAnyPet =
        boolean result =

        // 以下の行を削除しないでください
        System.out.println("Can sell regular pet: " + canSellRegularPet);
        System.out.println("Can sell exotic pet: " + canSellExoticPet);
        System.out.println("Cannot sell any pet: " + cannotSellAnyPet);
        System.out.println("Result: " + result);
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン