/** * ドメイン非依存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); 問題 | Javaドリル https://minner.asia 楽々学べるJavaの問題集 Fri, 05 Sep 2025 02:14:48 +0000 ja hourly 1 https://wordpress.org/?v=6.8.3 https://minner.asia/wp-content/uploads/2023/10/cropped-logo-32x32.png 問題 | Javaドリル https://minner.asia 32 32 013 クラスライブラリ(正規表現のパターンを扱うクラス) 022 問題 https://minner.asia/archives/2986 https://minner.asia/archives/2986#respond Wed, 29 Nov 2023 23:38:46 +0000 http://localhost/?p=2986

問題

パスワードが一定のセキュリティポリシーに合致しているかどうかを検証するプログラムを書いてください(例: 最低8文字以上、大文字・小文字・数字を含むなど)。

ヒント

パスワードが一定のセキュリティポリシーに合致しているかどうかを検証するためのプログラムを作成するには、以下の手順を考慮します。

  1. セキュリティポリシーの定義:
    • セキュリティポリシーを明確に定義します。例えば、最低8文字以上、大文字・小文字・数字を含む、特殊文字を含むなど。
  2. 正規表現の使用:
    • 正規表現を使用して、パスワードがセキュリティポリシーに合致しているかどうかを検証します。正規表現を使うことで、パターンに一致するかどうかを簡単に判定できます。
  3. 条件の検証:
    • 正規表現によるパターンマッチング以外に、他の条件も検証することが重要です。例えば、文字列の長さが8文字以上であること、大文字・小文字・数字がそれぞれ1文字以上含まれていることなど。

→解答例

🎯 実習で理解を深めよう

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

]]>
https://minner.asia/archives/2986/feed 0
013 クラスライブラリ(正規表現のパターンを扱うクラス) 021 問題 https://minner.asia/archives/2978 https://minner.asia/archives/2978#respond Wed, 29 Nov 2023 23:23:45 +0000 http://localhost/?p=2978

問題

ユーザーから入力された文字列が特定の日付フォーマットに合致しているかどうかを検証するプログラムを書いてください。

ヒント

  1. 日付フォーマットの確認:
    • ユーザーからの入力が特定の日付フォーマットに合致するかどうかを検証するためには、まず対象となる日付フォーマットを確認します。例えば、”yyyy-MM-dd” など。
  2. SimpleDateFormatクラス:
    • Javaでは、SimpleDateFormat クラスを使用して日付フォーマットの解析とフォーマットができます。このクラスを使って、指定された日付フォーマットに合致しているかどうかを確認します。
  3. try-catchブロックの使用:
    • パース(解析)処理やフォーマット処理は例外をスローする可能性があるため、try-catch ブロックを使用して例外をキャッチします。日付が正しくフォーマットされている場合は、エラーが発生しません。
  4. parseメソッドとformatメソッド:
    • SimpleDateFormat クラスの parse メソッドを使用してユーザーからの入力を日付に変換し、format メソッドを使用して元の形式に変換して検証します。
  5. Patternクラスと正規表現:
    • より柔軟な検証が必要な場合は、Pattern クラスを使用して正規表現で日付フォーマットを定義し、ユーザーからの入力がそれに一致するかどうかを確認します。

これらのヒントを元に、対象となる日付フォーマットを確認し、Javaの日付処理クラスを活用して、ユーザーからの入力がそのフォーマットに合致しているかどうかを検証するプログラムを作成してみてください。

→解答例

「013 クラスライブラリ」問題集リスト

🎯 実習で理解を深めよう

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

]]>
https://minner.asia/archives/2978/feed 0
013 クラスライブラリ(正規表現のパターンを扱うクラス) 020 問題 https://minner.asia/archives/2969 https://minner.asia/archives/2969#respond Tue, 28 Nov 2023 23:38:39 +0000 http://localhost/?p=2969

問題

ユーザーから入力された文字列が有効なIPv4アドレスとして成り立つかどうかを検証するプログラムを書いてください。

ヒント

  1. IPv4アドレスの基本構造:
    • IPv4アドレスは4つの数値(0から255までの範囲)がピリオドで区切られた形式です。例: 192.168.0.1
  2. 正規表現の利用:
    • 正規表現を使用してIPv4アドレスのパターンを定義します。各部分が0から255までの数字で構成されていることを確認するパターンを作成します。
  3. キャラクタクラスの利用:
    • キャラクタクラスを使用して、各部分が0から9の数字であることを確認します。例えば、[0-9]は0から9のどれかに一致します。
  4. 量指定子の利用:
    • 各部分が1桁または2桁の数字であることを確認するために、量指定子を使用します。例えば、[0-9]{1,2}は1桁または2桁の数字に一致します。
  5. ピリオドのエスケープ:
    • ピリオドは正規表現で特別な意味を持つため、正確にピリオドと一致させるためにはエスケープが必要です。エスケープはバックスラッシュ \ を使います。
  6. IPv4アドレスの結合:
    • 上記の要素を組み合わせてIPv4アドレス全体の正規表現パターンを作成します。各部分をピリオドで連結する形にします。

これらのヒントをもとに、JavaでIPv4アドレスの有効性を検証するための正規表現パターンを作成し、Pattern クラスと Matcher クラスを使用してプログラムを実装してみてください。

→解答例

「013 クラスライブラリ」問題集リスト

🎯 実習で理解を深めよう

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

]]>
https://minner.asia/archives/2969/feed 0
013 クラスライブラリ(正規表現のパターンを扱うクラス) 019 問題 https://minner.asia/archives/2963 https://minner.asia/archives/2963#respond Tue, 28 Nov 2023 23:31:36 +0000 http://localhost/?p=2963

問題

与えられたテキストからURLを抽出するプログラムを書いてください。

ヒント

  1. 正規表現の使用:
    • URLは一般的に特定のパターンに従います。正規表現を使用してこれらのパターンを特定し、URLを抽出します。
  2. URLの一般的なパターン:
    • URLの一般的な形式は http(s)://www.example.com のようになっています。これにマッチする正規表現を作成します。ただし、URLの形式は多岐にわたるので、用途によって適切な正規表現を選択する必要があります。
  3. 正規表現のテスト:
    • 正規表現をテストするために、いくつかのサンプルテキストを用意しておくと良いです。例えば、HTMLのソースコードからURLを抽出する場合は、HTMLソースの一部を使用してテストすると良いでしょう。
  4. グループ化:
    • URLにはプロトコル、ホスト、パスなどがあります。これらの部分を正確に抽出するために、正規表現内でグループ化を使用すると便利です。例えば、(http://)(www\\.)?(example\\.com) のようにグループを作成します。
  5. Matcherクラスの利用:
    • Pattern クラスで正規表現をコンパイルし、Matcher クラスを使用してテキストと一致させます。find() メソッドを使用して一致を見つけ、group() メソッドでグループを取得します。
  6. 重複を防ぐ:
    • 同じURLが複数回出現する可能性がある場合は、重複を防ぐ仕組みを考慮すると良いです。

これらのヒントを考慮して、特定のテキストからURLを抽出するための正規表現を作成し、Javaの正規表現機能を使用してプログラムを実装してみてください。

→解答例

「013 クラスライブラリ」問題集リスト

🎯 実習で理解を深めよう

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

]]>
https://minner.asia/archives/2963/feed 0
013 クラスライブラリ(正規表現のパターンを扱うクラス) 018 問題 https://minner.asia/archives/2954 https://minner.asia/archives/2954#respond Tue, 28 Nov 2023 23:19:59 +0000 http://localhost/?p=2954

問題

ユーザーから入力された文字列が有効な電子メールアドレスとして成り立つかどうかを検証するプログラムを書いてください。

ヒント

  1. 正規表現の使用:
  2. 正規表現パターンの作成:
    • 電子メールアドレスの正規表現パターンを作成します。このパターンは、ユーザーからの入力が電子メールアドレスの形式に一致しているかどうかを確認するのに使用されます。
  3. 正規表現の構成:
    • 電子メールアドレスの正規表現は一般的に、ユーザー名、@ シンボル、ドメイン名、トップレベルドメイン(TLD)などを考慮して構成されます。これらの要素が正しい順序で配置されていることを確認します。
  4. Matcher クラスを使用:
    • Pattern クラスでコンパイルされた正規表現パターンを使用して、Matcher クラスを作成します。そして、matches() メソッドを使用して入力文字列が正規表現に一致するかどうかを確認します。
  5. エラーハンドリング:
    • ユーザーからの入力が無効な場合、適切なエラーメッセージを表示します。例えば、”有効な電子メールアドレスを入力してください”など。

これらの手順を考慮して、正規表現を使用して電子メールアドレスの有効性を検証するプログラムを作成できます。

→解答例

「013 クラスライブラリ」問題集リスト

🎯 実習で理解を深めよう

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

]]>
https://minner.asia/archives/2954/feed 0
013 クラスライブラリ(日付を扱うクラス) 017 問題 https://minner.asia/archives/2948 https://minner.asia/archives/2948#respond Tue, 28 Nov 2023 23:09:05 +0000 http://localhost/?p=2948

問題

指定された日時から、指定された期間後の日時を計算して表示するプログラムを作成してください。

ヒント

  1. java.time.LocalDateTime クラスを使用して、指定された基準となる日時を取得します。例えば、LocalDateTime baseDateTime = LocalDateTime.of(2023, 1, 1, 12, 0); のようになります。
  2. ユーザーから加算する期間を入力として受け取ります。これは java.time.Duration クラスを使用して表現されます。例えば、Duration durationToAdd = Duration.ofDays(7); のようになります。
  3. plus() メソッドを使用して、指定された基準日時に指定された期間を加算した新しい日時を計算します。例えば、LocalDateTime newDateTime = baseDateTime.plus(durationToAdd); とします。
  4. 計算された新しい日時を表示します。

これらの手順を組み合わせることで、指定された日時から指定された期間後の日時を計算して表示するプログラムを作成できます。ユーザーからの入力は検証が必要なため、適切なエラーハンドリングも考慮してください。

→解答例

「013 クラスライブラリ」問題集リスト

🎯 実習で理解を深めよう

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

]]>
https://minner.asia/archives/2948/feed 0
013 クラスライブラリ(日付を扱うクラス) 016 問題 https://minner.asia/archives/2942 https://minner.asia/archives/2942#respond Tue, 28 Nov 2023 23:04:03 +0000 http://localhost/?p=2942

問題

現在の日時に指定された時間を加算した日時を表示するプログラムを作成してください。

ヒント

  1. java.time.LocalDateTime クラスを使用して、現在の日時を取得します。例えば、LocalDateTime currentDateTime = LocalDateTime.now(); とします。
  2. ユーザーから加算する時間を入力として受け取ります。これは java.time.Duration クラスを使用して表現されます。例えば、Duration durationToAdd = Duration.ofHours(3); のようになります。
  3. plus() メソッドを使用して、現在の日時に指定された時間を加算した新しい日時を計算します。例えば、LocalDateTime newDateTime = currentDateTime.plus(durationToAdd); とします。
  4. 計算された新しい日時を表示します。

これらの手順を組み合わせることで、現在の日時に指定された時間を加算した日時を表示するプログラムを作成できます。ユーザーからの入力は検証が必要なため、適切なエラーハンドリングも考慮してください。

→解答例

「013 クラスライブラリ」問題集リスト

🎯 実習で理解を深めよう

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

]]>
https://minner.asia/archives/2942/feed 0
013 クラスライブラリ(日付を扱うクラス) 015 問題 https://minner.asia/archives/2934 https://minner.asia/archives/2934#respond Mon, 27 Nov 2023 22:34:37 +0000 http://localhost/?p=2934

問題

生年月日を入力とし、年齢を計算して表示するプログラムを作成してください。

ヒント

  1. java.time.LocalDate クラスを使用して、現在の日付を取得します。例えば、LocalDate currentDate = LocalDate.now(); とします。
  2. ユーザーから生年月日を入力として受け取ります。これは文字列として扱われることが一般的です。例えば、String birthdateStr = "1990-05-15"; のようになります。
  3. LocalDate.parse() メソッドを使用して、入力された生年月日の文字列を LocalDate オブジェクトに変換します。例えば、LocalDate birthdate = LocalDate.parse(birthdateStr); とします。
  4. Period.between() メソッドを使用して、生年月日と現在の日付から年齢を計算します。例えば、Period agePeriod = Period.between(birthdate, currentDate); とします。
  5. agePeriod.getYears() メソッドを使用して、計算された年齢を取得します。例えば、int age = agePeriod.getYears(); とします。
  6. 計算された年齢を表示します。

これらの手順を組み合わせることで、生年月日を入力とし、年齢を計算して表示するプログラムを作成できます。ユーザーからの入力は検証が必要なため、適切なエラーハンドリングも考慮してください。

→解答例

「013 クラスライブラリ」問題集リスト

🎯 実習で理解を深めよう

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

]]>
https://minner.asia/archives/2934/feed 0
013 クラスライブラリ(日付を扱うクラス) 014 問題 https://minner.asia/archives/2929 https://minner.asia/archives/2929#respond Mon, 27 Nov 2023 22:31:25 +0000 http://localhost/?p=2929

問題

指定された日数だけ未来または過去の日付を計算して表示するプログラムを作成してください。

ヒント

  1. java.time.LocalDate クラスを使用して、現在の日付を取得します。例えば、LocalDate currentDate = LocalDate.now(); とします。
  2. plusDays() メソッドを使用して、現在の日付に指定された日数を加えた未来の日付を計算します。または、minusDays() メソッドを使用して、指定された日数を引いた過去の日付を計算します。
  3. 計算した日付を表示するために、System.out.println() メソッドを使用します。
  4. 入力として指定される日数は、ユーザーからの入力か、プログラム内で指定するかに応じて、適切に処理します。

これらのステップを組み合わせることで、指定された日数だけ未来または過去の日付を計算して表示するプログラムを簡単に作成できます。

→解答例

「013 クラスライブラリ」問題集リスト

🎯 実習で理解を深めよう

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

]]>
https://minner.asia/archives/2929/feed 0
013 クラスライブラリ(日付を扱うクラス) 013 問題 https://minner.asia/archives/2922 https://minner.asia/archives/2922#respond Mon, 27 Nov 2023 22:16:33 +0000 http://localhost/?p=2922

問題

2つの日付を比較し、どちらが未来か過去かを判定するプログラムを作成してください。

ヒント

  1. java.time.LocalDate クラスの isBefore() メソッドまたは isAfter() メソッドを使用して、2つの LocalDate オブジェクトを比較できます。
    • isBefore() メソッド: 指定した日付より前の日付であれば true を返します。
    • isAfter() メソッド: 指定した日付より後の日付であれば true を返します。
  2. LocalDate オブジェクトを比較する際に、どちらが未来であるか、過去であるかを判定しましょう。例えば、日付Aが日付Bより前であれば、日付Aは過去です。
  3. もしプログラムで比較した結果が必要な場合は、条件文を使用して判定し、結果を表示するか、他の処理に利用できます。

これらのヒントをもとに、指定された2つの日付を比較して未来か過去かを判定するプログラムを作成してみてください。

→解答例

「013 クラスライブラリ」問題集リスト

🎯 実習で理解を深めよう

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

]]>
https://minner.asia/archives/2922/feed 0