Ошибка Java недоступна

Я пытаюсь создать класс, который имеет базовый объект. Базовый объект будет использоваться для создания нескольких объектов и превращения в "бой" в другом классе на основе силы и бонусов.

Я получил эту ошибку при компиляции "Ошибка, недостижимое утверждение", и она указывает на строку 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;
    }
}

1 ответ

Дополнительный ; вызвал весь беспорядок

if (this.getStrength()>opponent.getStrength()); <--

Эта точка с запятой завершает оператор там и принимает его как новый блок с указанием оттуда.

Отсюда и код

public Superhero  battle(Superhero1 opponent){
    if (this.getStrength()>opponent.getStrength());
    return this;
    return opponent;
}

равно

public Superhero  battle(Superhero1 opponent){
    if (this.getStrength()>opponent.getStrength()){
    }
    return this;
    return opponent;
}

Удалить это лишнее ; (надеюсь, что это не было преднамеренно напечатано), коды будут в порядке.

Как кто-то уже прокомментировал, это причина, всегда используйте фигурные скобки, чтобы избежать подобных ситуаций.

Другие вопросы по тегам