Menu
Coddy logo textTech

ネストされた if - else

CoddyのC#ジャーニー「基礎」セクションの一部 — レッスン 30/69。

if-elif-else 文は、互いに入れ子(ネスト)にすることができます。これにより、階層的な意思決定構造を作成できます。

例えば:

if (age > 18) {
    if (hasLicense) {
        Console.WriteLine("You can drive");
    } else {
        Console.WriteLine("Get a license first");
    }
} else {
    Console.WriteLine("Too young to drive");
}

無限にネストさせることができます:

if (condition1) {
	if (condition2) {
		if (condition3) {
		    // condition1、condition2、およびcondition3がすべてtrueの場合
		    ...
		}
	}
}
challenge icon

チャレンジ

初心者

誰かがジェットコースターに乗れるかどうかをチェックするプログラムを作成してください。要件は以下の通りです:

  • 12歳以上であること
  • 身長が150cmより高いこと
  • 両方の要件を満たしているが15歳未満の場合は、大人の同伴が必要です

各ケースについて、status 変数に以下の文字列を正確に設定してください:

  • 若すぎる場合:Sorry, you're too young
  • 身長が足りない場合:Sorry, you're not tall enough
  • 15歳未満で大人がいない場合:Sorry, you need an adult with you
  • 15歳未満で大人がいる場合:You can ride with adult supervision!
  • 15歳以上で身長が足りている場合:You can ride by yourself!

チートシート

if-elif-else文を互いに入れ子(ネスト)にして、階層的な意思決定構造を作成することができます:

if (age > 18) {
    if (hasLicense) {
        Console.WriteLine("You can drive");
    } else {
        Console.WriteLine("Get a license first");
    }
} else {
    Console.WriteLine("Too young to drive");
}

ネストは無限に行うことができます:

if (condition1) {
    if (condition2) {
        if (condition3) {
            // condition1、condition2、およびcondition3がすべて真(true)の場合
            ...
        }
    }
}

自分で試してみよう

using System;

class Program {
    public static void Main(string[] args) {
        int age = int.Parse(Console.ReadLine()); // この行は変更しないでください
        int height = int.Parse(Console.ReadLine()); // この行は変更しないでください
        bool hasAdult = bool.Parse(Console.ReadLine()); // この行は変更しないでください

        string status = "";
        
        // 以下にコードを書いてください
        
        
        
        // この行より下は変更しないでください
        Console.WriteLine(status);
    }
}
quiz icon腕試し

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

基礎のすべてのレッスン