問題
あなたは、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++
とすると一意の番号を割り振れる