Zagnieżdżone If - Else
Część sekcji Podstawy ścieżki C# w Coddy. Lekcja 30 z 69.
Możemy zagnieżdżać instrukcje if-else w sobie nawzajem. Pozwala nam to tworzyć hierarchiczne struktury podejmowania decyzji.
Na przykład:
if (age > 18) {
if (hasLicense) {
Console.WriteLine("You can drive");
} else {
Console.WriteLine("Get a license first");
}
} else {
Console.WriteLine("Too young to drive");
}
Można je zagnieżdżać bez końca:
if (condition1) {
if (condition2) {
if (condition3) {
// jeśli condition1, condition2 i condition3 są prawdziwe
...
}
}
}Bez nawiasów klamrowych instrukcja else łączy się z najbliższą znajdującą się nad nią instrukcją if, która nie ma jeszcze instrukcji else:
if (age > 18)
if (hasLicense)
Console.WriteLine("You can drive");
else
Console.WriteLine("Get a license first");W tym przypadku else należy do if (hasLicense), niezależnie od wcięcia. Użyj nawiasów klamrowych, aby jasno określić to powiązanie.
Wyzwanie
PoczątkującyNapisz program, który sprawdza, czy ktoś może przejechać się kolejką górską. Wymagania:
- Osoba musi mieć co najmniej 12 lat
- Osoba musi mieć więcej niż 150cm wzrostu
- Jeśli spełnia oba wymagania, ale ma mniej niż 15 lat, potrzebuje opieki osoby dorosłej
Ustaw zmienną status dokładnie na jeden z tych ciągów znaków dla każdego przypadku:
- Jeśli osoba jest za młoda:
Sorry, you're too young - Jeśli nie jest wystarczająco wysoka:
Sorry, you're not tall enough - Jeśli ma mniej niż 15 lat i nie towarzyszy jej osoba dorosła:
Sorry, you need an adult with you - Jeśli ma mniej niż 15 lat i towarzyszy jej osoba dorosła:
You can ride with adult supervision! - Jeśli ma co najmniej 15 lat i jest wystarczająco wysoka:
You can ride by yourself!
Spróbuj swoich sił
using System;
class Program {
public static void Main(string[] args) {
int age = int.Parse(Console.ReadLine()); // Nie zmieniaj tej linii
int height = int.Parse(Console.ReadLine()); // Nie zmieniaj tej linii
bool hasAdult = bool.Parse(Console.ReadLine()); // Nie zmieniaj tej linii
string status = "";
// Napisz swój kod poniżej
// Nie zmieniaj kodu poniżej tej linii
Console.WriteLine(status);
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 1
Operatory arytmetyczneOperator moduloInkrementacja/dekrementacjaPostinkrementacja/postdekrementacjaSkrócone operatory arytmetyczne7Podstawowe wejście i wyjście
Podstawowe wyjścieInterpolacja ciągów znakówOdczytywanie danych wejściowychParsowaniePowtórka — do 120Powtórka — prawda czy fałsz5Operatory część 2
Operatory porównaniaOperatory logiczne część 1Operatory logiczne część 2Powtórka — prosta logikaOperatory logiczne część 36Podejmowanie decyzji
Instrukcja ifIf - ElseInstrukcja switchOperator trójargumentowyPowtórzenie - If ElseZagnieżdżone If - Else9Pętle
Pętla forPętla whilePętla do whileInstrukcja breakInstrukcja continueZagnieżdżona pętlaNieskończona pętlaPowtórzenie – dynamiczne dane wejściowe12Operacje na ciągach znaków
Metody ciągów znaków – część 1Metody ciągów znaków – część 2Formatowanie ciągów znakówPoćwicz samodzielnie: Kompilator C# online