Im пытается создать класс с базовым объектом. Базовый объект будет использоваться для создания нескольких объектов и должен быть «сражаться» в другом классе на основе силы и бонусов.Ошибка Java Error unreachable
У меня есть эта ошибка при компиляции «Ошибка, недостижимая инструкция», и она указывает на строку 27, указывающую на возврат, может ли кто-нибудь помочь мне?
public class Superhero {
private String superheroName;
private int superheroStrength;
public int powerUp;
public Superhero (String superheroName, int superheroStrength, int powerUp){
this.superheroName = superheroName;
this.superheroStrength = superheroStrength;
System.out.println("Superhero: " + superheroName);
System.out.println("Strength: " + (superheroStrength + powerUp));
}
public Superhero (String superheroName, int powerUp){
this.superheroName = superheroName;
superheroStrength = 10;
System.out.println("Strength: " + (superheroStrength+powerUp));
}
public int getStrength(){
return superheroStrength += powerUp;
}
public void powerUp (int powerUp){
this.powerUp += powerUp;
}
public Superhero battle(Superhero1 opponent){
if (this.getStrength()>opponent.getStrength());
return this;
return opponent;
}
public String toString(){
return this.superheroName;
}
}
Удалить ';' в конце этой строки: if (this.getStrength()> enemy.getStrength()); ' –
В качестве альтернативы замените вышеупомянутый'; 'на' {} 'и положите' return это; в блоке. Это сделает его более читаемым, решит проблему недостижимости и сделает его более очевидным, потому что сейчас он даже не отступается. – Arc676
Это одна из причин, почему вы всегда должны использовать фигурные скобки для операторов 'if', даже если они содержат только один оператор. – JonK