005-003-006
if文のネスト:チケット料金
初級
問題説明
この問題では: 年齢と学生フラグを入力として受け取り、ネストされたif文で4パターンのチケット料金を判定し、結果を標準出力に表示するプログラムを作成します。
if文のネスト:チケット料金
Learning Objectives
Bloom Level: Apply(応用)
Practical Goals
- if文を入れ子(ネスト)にして2軸の条件分岐を実装できる
- 境界値(18歳)の判定条件を正しく設定できる
- boolean変数を条件式に直接使用できる
- 4パターンの料金計算を構造化されたコードで表現できる
Real-World Scenario
Scenario Type: Business
Business Context
あなたは映画館のチケット販売システムを開発しています。年齢と学生証の有無によって料金が変わる「2軸割引システム」を実装します。
このシステムは、遊園地の入場料、交通機関の運賃、スポーツ施設の利用料など、多くのサービスで使われています。年齢区分と属性区分の組み合わせで料金を決定するパターンを習得しましょう。
Why This Matters
- 料金計算は多くのビジネスシステムの基本機能
- 2軸での条件分岐は実務で頻繁に登場するパターン
- 正確な境界値処理は料金誤徴収を防ぐ重要スキル
Problem Statement
年齢と学生かどうかを入力して、チケット料金を判定するプログラムを作ります。
判定ルール:
- 18歳以上: 学生なら1500円、一般なら2000円
- 18歳未満: 学生なら1000円、一般なら1200円
Input
1行目: 年齢(整数)
2行目: 学生フラグ(true=学生、false=一般)
Output
年齢: [年齢]歳
学生: [学生状態]
チケット料金: [料金]円
テストケース例
※ 出力例はプログラミングの国際標準に準拠し英語で表示しています
入力:
20 true
期待される出力:
Age: 20 years old Student: true Ticket price: 1500 yen
入力:
25 false
期待される出力:
Age: 25 years old Student: false Ticket price: 2000 yen
入力:
18 true
期待される出力:
Age: 18 years old Student: true Ticket price: 1500 yen
入力:
10 false
期待される出力:
Age: 10 years old Student: false Ticket price: 1200 yen
❌ テストに失敗したケースがあります
あなたの解答
現在のモード:● 自分のコード
99
1
2
3
4
5
6
7
8
9
10
›
⌄
⌄
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// ここにコードを書いてください
sc.close();
}
}
0 B / 5 MB
残り 8 回実行可能
