Java | if-else → switch 書き換えのレベルアップ練習問題

Java Java
スポンサーリンク

ここでは「if-else → switch 書き換え」のレベルアップ練習問題(メニュー処理編)を紹介します。
実際に入力を使う形で、コンソールメニューアプリ風に練習できます。


レベルアップ問題:入力値で動くメニュー処理

目的

ユーザーがメニュー番号を入力したときに、
選んだ処理を実行するプログラムを if-else文switch文 の両方で書いてみよう。


【問題】

仕様

  1. メニューを表示する ===== メニュー ===== 1: データ登録 2: データ更新 3: データ削除 4: 終了 =====================
  2. ユーザーが数字を入力する
  3. 入力に応じてメッセージを表示する
    • 1 → 「登録処理を開始します」
    • 2 → 「更新処理を開始します」
    • 3 → 「削除処理を開始します」
    • 4 → 「終了します」
    • 上記以外 → 「不正な入力です」

解答例①:if-else版

import java.util.Scanner;

public class MenuIfExample {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.println("===== メニュー =====");
        System.out.println("1: データ登録");
        System.out.println("2: データ更新");
        System.out.println("3: データ削除");
        System.out.println("4: 終了");
        System.out.println("=====================");
        System.out.print("番号を入力してください: ");

        int select = sc.nextInt();

        if (select == 1) {
            System.out.println("登録処理を開始します");
        } else if (select == 2) {
            System.out.println("更新処理を開始します");
        } else if (select == 3) {
            System.out.println("削除処理を開始します");
        } else if (select == 4) {
            System.out.println("終了します");
        } else {
            System.out.println("不正な入力です");
        }

        sc.close();
    }
}
Java

解答例②:switch版(書き換え)

import java.util.Scanner;

public class MenuSwitchExample {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.println("===== メニュー =====");
        System.out.println("1: データ登録");
        System.out.println("2: データ更新");
        System.out.println("3: データ削除");
        System.out.println("4: 終了");
        System.out.println("=====================");
        System.out.print("番号を入力してください: ");

        int select = sc.nextInt();

        switch (select) {
            case 1:
                System.out.println("登録処理を開始します");
                break;
            case 2:
                System.out.println("更新処理を開始します");
                break;
            case 3:
                System.out.println("削除処理を開始します");
                break;
            case 4:
                System.out.println("終了します");
                break;
            default:
                System.out.println("不正な入力です");
        }

        sc.close();
    }
}
Java

学習ポイント

観点if-elseswitch
条件の書き方if (x == 1) のように明示的case 1: でスッキリ
処理の流れ条件が多いとネストが深くなる構造がシンプルで見やすい
使いやすさ数値・比較式に柔軟特定の値ごとの分岐に最適

発展練習(自作してみよう)

レベル2:

メニューを繰り返し表示して、4を選ぶまでループするようにする。
(→ do-while と組み合わせて練習)

レベル3:

入力を文字列(例: "add", "update", "delete", "exit")で受け取り、
switch (文字列) に書き換える。

Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました