E se o salario for negativo, como ele vai retornar algo? Pegou a ideia?
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?
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!
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;
}