/** * ドメイン非依存URL出力フィルタ * javadrill.tech移行時はwp_options.home/siteurlのみ変更すればよい * * データベースには絶対URL(https://minner.asia)を保持し、 * 表示時に現在のドメイン(home_url())に動的変換する */ function javadrill_make_urls_dynamic($content) { if (empty($content)) { return $content; } // データベース内の絶対URLを現在のhome_url()に置換 $old_url = 'https://minner.asia'; $new_url = untrailingslashit(home_url()); // http版も対応(念のため) $content = str_replace($old_url, $new_url, $content); $content = str_replace('http://minner.asia', $new_url, $content); return $content; } // 投稿本文、ウィジェット、タームの説明、抜粋に適用 add_filter('the_content', 'javadrill_make_urls_dynamic', 20); add_filter('widget_text', 'javadrill_make_urls_dynamic', 20); add_filter('term_description', 'javadrill_make_urls_dynamic', 20); add_filter('get_the_excerpt', 'javadrill_make_urls_dynamic', 20); 005 条件分岐(switch文) 021 解答例 | Javaドリル

005 条件分岐(switch文) 021 解答例

005-021 005 条件分岐
import java.util.Scanner;

public class MonthDays {
    public static void main(String[] args) {
        // ユーザーから月の入力を受け取る
        Scanner scanner = new Scanner(System.in);
        System.out.print("月を入力してください(1から12): ");
        int month = scanner.nextInt();

        // 入力された月に対応する日数を表示する
        switch (month) {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                System.out.println("31æ—¥");
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                System.out.println("30æ—¥");
                break;
            case 2:
                System.out.println("28または29日");
                break;
            default:
                System.out.println("無効な月です");
        }

        // Scannerを閉じる
        scanner.close();
    }
}

このプログラムでは、switch文を使用して月ごとに日数を処理しています。2月はうるう年の条件によって日数が変わるため、case 2では追加の条件分岐が行われています。また、無効な月が入力された場合にはデフォルトのメッセージが表示されます。

複数のcaseに共通の処理

switch文の各caseに共通の処理を行うには、各caseの最後に処理を追加することができます。以下に例を示します。

import java.util.Scanner;

public class MonthDays {
    public static void main(String[] args) {
        // ユーザーから月の入力を受け取る
        Scanner scanner = new Scanner(System.in);
        System.out.print("月を入力してください(1から12): ");
        int month = scanner.nextInt();

        // 入力された月に対応する日数を表示する
        int days;
        switch (month) {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                days = 31;
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                days = 30;
                break;
            case 2:
                System.out.println("28または29日");
                // 共通の処理を追加
                days = 28; // この行を追加しても問題ありません
                break;
            default:
                System.out.println("無効な月です");
                // 共通の処理を追加
                days = 0; // この行を追加しても問題ありません
        }

        // 共通の処理
        if (days != 0) {
            System.out.println(month + "月は" + days + "日です");
        }

        // Scannerを閉じる
        scanner.close();
    }
}

このプログラムでは、daysという変数を導入し、各caseでdaysの値を設定しています。switch文の後に共通の処理が続くので、どのcaseに該当しても最終的に同じ処理が行われます。

「005条件分岐」問題集リスト

🎯 実習で理解を深めよう

この内容についてJavaDrillで実際に手を動かして学習できます

コメント

タイトルとURLをコピーしました