問題
あなたは、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はすべてのインスタンスで共有する必要があるのでstaticidは個々のインスタンス専用なので非static- コンストラクタの中で
id = nextId++とすると一意の番号を割り振れる
実習で理解を深めよう / Practice to deepen your understanding
この内容についてJavaDrillで実際に手を動かして学習できます
Practice with JavaDrill to learn hands-on


