Так что у меня довольно простой фрагмент кода:Использование неиницализированные переменной в конструкторе
Soldier Horseman = new Soldier("Horseman",Archer, 20);
Soldier Spearman = new Soldier("Spearman",Horseman, 10);
Soldier Archer = new Soldier("Archer",Spearman, 10);
Где конструктор солдата принимает аргументы
Soldier(String name, Soldier target, double range)
Мишень затем используется для вычисления расстояния между ними в методе.
public double DistanceCalculation() {
distanceToTarget = ((Math.pow((soldierPosition[0] - soldierTarget.soldierPosition[0]), 2)) + Math.pow((soldierPosition[1] - soldierTarget.soldierPosition[1]), 2));
return distanceToTarget;
Однако, когда я пытаюсь создать этот код, самый верхний солдат не может быть создан, потому что его цель еще не существует. Я попытался использовать String вместо Soldier в конструкторе, но тогда я не могу понять, как преобразовать строку в Soldier, чтобы работал SoldierTarget.soldierPosition. Есть идеи?
Когда вы называетеDistanceCalculation() – AbtPst
В другом методе, который сравнивает расстояние между тремя солдатами до их цели – Seraphim
На боковой ноте, пожалуйста, используйте camelCase (строчная буква первой буквы) для объектов/переменных - это Java-соглашение и так проще читать для большинство из нас. –