ネストされた 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の場合
...
}
}
}チャレンジ
初心者誰かがジェットコースターに乗れるかどうかをチェックするプログラムを作成してください。要件は以下の通りです:
- 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);
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。