問題
あなたは、各ユーザーがそれぞれのメッセージ数を持ちながら、
全体の送信メッセージ数も集計できるクラスを作ろうとしています。
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++など、クラス名からもアクセスできる - それぞれの変数の スコープと共有性の違い に注目すること
実習で理解を深めよう / Practice to deepen your understanding
この内容についてJavaDrillで実際に手を動かして学習できます
Practice with JavaDrill to learn hands-on


