Boa tarde,
Pessoal alguém poderia me ajudar neste caso?
Quando eu compilo este código o segundo “else if” não está funcionando, o que pode ser?
@Override
public double getResultado() {
double retorno = (vendas / this.meta) * 100;
if(super.getResultado() <= 100) {
System.out.println("Abaixo da meta");
} else if(super.getResultado() >= 100) {
System.out.println("Parabéns! Meta atingida");
} else if(super.getResultado() >= 130.0) {
System.out.println("Meta desafio atingida");
}
return retorno;
}
Primeiro, tente quebrar o if/else if/else em linhas, é plenamenta possível manter em uma única, mas, é mais fácil visualizar quando você quebra por linhas.
Depois o primeiro else if vai receber tudo o que for superior a 100, incluindo o que é superior a 130, afinal, 130 > 100.
Sua cláusula está incompleta, se quer que fique no primeiro else if, precisa delimitar o range de verificação
else if(super.getResultado() >= 100 && super.getResultado() < 130){
System.out.println("Parabéns! Meta atingida");
}
Entendeu?
Darlan,
Muito obrigado, agora eu entendi! Fiz a quebra das linhas e ficou bem melhor a visualização.
Você é fera!!!