Por que ele ainda pede return ? se já tem ?

E se o salario for negativo, como ele vai retornar algo? Pegou a ideia?

1 curtida

Como assim ? se ele é maior que 0.00, não retornaria o salário ?

O código não vai saber que o salario é positivo até ser executado (tempo de execução), portanto o java precisa garantir um retorno em qualquer condição (tempo de compilação), pesquise a respeito…

Além do mais, só a lógica do código já responde sua dúvida, você só retorna algo se o salario for positivo segundo sua condição, volto a perguntar e se for negativo?

1 curtida

no caso seria melhor usar um if_else ?

Pode ser uma solução sim, principalmente para melhorar a leitura quando se está aprendendo, mas também pode feito algo assim:

if (...) {
     return...
}
return...

Mas faça com if/else primeiro pra não dar nó na cabeça, bons estudos!

1 curtida

obrigado ai

Você precisa fazer o outro return se não for satisfeita a condição e por isso ele reclama do outro return, sendo que se o salário for menor que 0 ele vai precisar desse return.

Tem uma escrita melhor se tiver somente duas resposta, que é o ternário

double verificarSalario() 
{
    return this.salario >= 0 ? this.salario: -1;
}
1 curtida