Javaで、オブジェクトを学習しています。エラーはないのですが、狙い通りに数字が表示されません。原因と改善方法のヒントをお願いいたします。
完成形
----- 1 番目の人のステータス -----
◆【名前】太郎
◆【年齢】20
◆【エネルギー】20
----- 2 番目の人のステータス -----
◆【名前】花子
◆【年齢】20
◆【エネルギー】20
現状
----- 1 番目の人のステータス -----
◆【名前】太郎
◆【年齢】chapter09a.Age@70dea4e
◆【エネルギー】chapter09a.Energy@5c647e05
----- 2 番目の人のステータス -----
◆【名前】花子
◆【年齢】chapter09a.Age@33909752
◆【エネルギー】chapter09a.Energy@55f96302
ソースコード①Main
// Person1のインスタンス DemoPerson person1 = new DemoPerson("太郎"); System.out.println("----- " + DemoPerson.person_num + " 番目の人のステータス -----"); person1.showStatus(); // Person2のインスタンス DemoPerson person2 = new DemoPerson("花子"); System.out.println("----- " + DemoPerson.person_num + " 番目の人のステータス -----"); person2.showStatus();
ソースコード②Person
// フィールド String name; // 名前 Age age; // 年齢 Energy energy; // エネルギー static int person_num = 0; // コンストラクタ(引数が1つバージョン) public DemoPerson(String name) { this.name = name; this.age = new Age(); this.energy = new Energy(); person_num++; } // コンストラクタ(引数が2つバージョン) public DemoPerson(String name, Age age) { this.name = name; this.age = age; this.energy = new Energy(); person_num++; } // コンストラクタ(引数が2つバージョン) public DemoPerson(String name, Energy energy) { this.name = name; this.age = new Age(); this.energy = energy; person_num++; } // コンストラクタ(引数が3つバージョン) public DemoPerson(String name, Age age, Energy energy) { this.name = name; this.age = age; this.energy = energy; person_num++; } // ステータスを表示する void showStatus() { System.out.println("◆【名前】" + this.name); System.out.println("◆【年齢】" + this.age); System.out.println("◆【エネルギー】" + this.energy); }
ソースコード③Age
public class Age { int age; public Age() { this.age=20; } public Age(int age) { this.age=age; } }
ソースコード④Energy
public class Energy { int energy; public Energy() { this.energy=20; } public Energy(int energy) { this.energy=energy; } }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。