ネストされた if-else
CoddyのRustジャーニー「基礎」セクションの一部。レッスン 28/75。
if / else if / else文を入れ子にできます。これにより、階層的な意思決定構造を作成できます。
例えば:
if age > 18 {
if hasLicense {
println!("You can drive");
} else {
println!("Get a license first");
}
} else {
println!("Too young to drive");
}無限にネストできます。
if condition1 {
if condition2 {
if condition3 {
// condition1、condition2、condition3がすべて真の場合
...
}
}
}チャレンジ
初心者ジェットコースターに乗れるかどうかを確認するプログラムを作成してください。要件は次のとおりです。
- 12歳以上であること
- 身長が150cmを超えていること
- 両方の要件を満たしていても、15歳未満の場合は大人の付き添いが必要です
各ケースで次のメッセージを正確に出力してください。
- 年齢が低すぎる場合:
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!
自分で試してみよう
use std::io;
fn main() {
let mut age_input = String::new();
let mut height_input = String::new();
let mut adult_input = String::new();
io::stdin().read_line(&mut age_input).unwrap();
io::stdin().read_line(&mut height_input).unwrap();
io::stdin().read_line(&mut adult_input).unwrap();
let age: i32 = age_input.trim().parse().unwrap();
let height: i32 = height_input.trim().parse().unwrap();
let has_adult: bool = adult_input.trim().parse().unwrap();
// 以下にコードを書いてください
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Rustオンラインコンパイラ