問題
あなたは、各ユーザーがそれぞれのメッセージ数を持ちながら、
全体の送信メッセージ数も集計できるクラスを作ろうとしています。
User
クラスには、以下の2つの情報を保持させてください:
- 各ユーザーごとの送信数 → インスタンス変数として保持
- 全ユーザー共通の送信数 → static変数として保持
各ユーザーが sendMessage()
メソッドを呼び出すたびに、
そのユーザーの送信回数と、全体での送信回数がともに加算され、以下のように出力されるようにしてください。
Alice の送信回数: 1(全体: 1)
Bob の送信回数: 1(全体: 2)
Alice の送信回数: 2(全体: 3)
要件
User
クラスを作成することname
(インスタンス変数)、messageCount
(インスタンス変数)、totalMessageCount
(static変数)を持つことsendMessage()
メソッドを定義し、以下の処理を行うこと:messageCount
とtotalMessageCount
を1ずつ加算する- 出力形式は:
[ユーザー名] の送信回数: [個別](全体: [total])
- すべての出力に
System.out.println
を使用すること
テストコード(Main.java)
public class Main {
public static void main(String[] args) {
User u1 = new User("Alice");
User u2 = new User("Bob");
u1.sendMessage();
u2.sendMessage();
u1.sendMessage();
}
}
ヒント
- インスタンス変数は
this.
を使って更新する - static変数は
User.totalMessageCount++
など、クラス名からもアクセスできる - それぞれの変数の スコープと共有性の違い に注目すること