/** * ドメイン非依存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); 104 「static修羅道」 Step07 問題 | Javaドリル

104 「static修羅道」 Step07 問題

eyecatch104-step07 104「static修羅道」

問題

あなたは、User クラスのインスタンスを生成するたびに、
一意の連番ID(ユーザーID) を自動的に割り振る仕組みを作ろうとしています。

IDは 1, 2, 3… と順に増加し、すべての User インスタンスで重複せずに一意になる必要があります。

このために、static 変数を使って、インスタンス生成時に自動的にIDが割り振られるようにしてください。

以下のような出力になるように実装してください:

[ID: 1] 名前: Alice
[ID: 2] 名前: Bob
[ID: 3] 名前: Carol

要件

  • User クラスを作成すること
  • static な nextId 変数(int型)を用意し、IDの連番管理を行うこと
  • 各インスタンスは id(int型)と name(String型)を保持すること
  • コンストラクタで id を自動的に割り当てること(nextId++)
  • printInfo() メソッドで [ID: x] 名前: y の形式で出力すること
  • 出力には System.out.println を使用すること

テストコード(Main.java)

public class Main {
  public static void main(String[] args) {
    User u1 = new User("Alice");
    User u2 = new User("Bob");
    User u3 = new User("Carol");

    u1.printInfo();
    u2.printInfo();
    u3.printInfo();
  }
}

ヒント

  • nextId はすべてのインスタンスで共有する必要があるので static
  • id は個々のインスタンス専用なので非static
  • コンストラクタの中で id = nextId++ とすると一意の番号を割り振れる

→ 解答例はこちら

104 ステップアップ問題 「static修羅道」

🎯 実習で理解を深めよう

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

コメント

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