前提・実現したいこと
生命値を減らす方法
発生している問題・エラーメッセージ
Human.java:10: エラー: Humanはabstractでなく、Attacker内のabstractメソッドattack (Attacker)をオーバーライドしません public class Human extends Attacker{ ^ Human.java:12: エラー: 初期化子内の自己参照 private String name = name; ^ エラー2個
該当のソースコード
Java
1//1)で作成したAttackerクラスを継承して、Humanクラスを作成してください。 2//①Humanクラスは、インスタンスを作成するときに、名前を設定できる。 3//②Humanクラスの生命値は固定値で20 4//③Humanクラスは、attackメソッドで、引数で渡された生物の生命値を減らすことができる。 5//(減らす値は、右記の計算式を用いる。 攻撃力(固定値で5)×0~1未満の乱数) 6 7public class Human extends Attacker{ 8 9 private String name = name; 10 private final int DEFAULT_LIFE = 20; 11 12 Human humanName = new Human(); 13 14 public void attack(){ 15 16 } 17}
Java
1//攻撃的な生命体を表す抽象クラス、Attackerクラスを作成してください。 2//①生命値と名前を設定できるコンストラクタを持つ。(引数なしコンストラクタと引数ありコンストラクタの二つを持つ) 3//②他の生命体を攻撃する抽象メソッド、void attack(引数はAttacker型インスタンス)メソッドを持つ。 4 5abstract class Attacker extends Creature{ 6 7 8 Attacker(){ 9 } 10 11 Attacker(String name,int life) { 12 } 13 14 abstract void attack(Attacker attack); 15}
試したこと
固定値で20までは試しました
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
試行錯誤して、次の段階に進めました。生命値の表現方法がわかりません。ヒントだけでもください。
回答2件
あなたの回答
tips
プレビュー