104 「static修羅道」 Step01 問題


問題

あなたは、ユーザーのログイン回数を記録する簡単な仕組みを作ろうとしています。
複数の User インスタンスを生成し、それぞれがログインするたびに、全体で何回ログインが発生したかを static 変数でカウントしてください。

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

Alice がログインしました(累計ログイン回数: 1)
Bob がログインしました(累計ログイン回数: 2)
Alice がログインしました(累計ログイン回数: 3)

要件

  • User クラスを作成すること
  • name(インスタンス変数)と loginCount(static変数)を持つこと
  • login() メソッドを定義し、名前と累計ログイン回数を出力すること
  • loginCount はすべてのインスタンスで共有され、ログインのたびに加算されること

テストコード(Main.java)

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

    u1.login();
    u2.login();
    u1.login();
  }
}

ヒント

  • static int loginCount = 0; のように静的変数を定義する
  • login() メソッド内で loginCount++ して出力する
  • loginCountUser クラス全体で共有されるため、インスタンスごとに分かれてはいけない

→ 解答例はこちら

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