Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Retorno do método boolean

Estava com o problema de não ser mostrado o retorno true ou false no monitor apesar do código estar correto até que vi o seguinte tópico:

https://cursos.alura.com.br/forum/topico-o-metodo-foi-criado-quando-devo-utiliza-lo-22781

Onde é orientado implementar o método contem() da seguinte forma: System.out.println(empresa.contem(f1));

Isso quer dizer que mesmo o método retornando algo, é necessário que no main seja implementada uma saída? Como no exemplo do System.out.println(empresa.contem(f1));?

4 respostas

Exato :).

solução!

Oi Bruno! Para mostrar algo no console você sempre precisa usar o System.out.println() se você apenas chamar o método empresa.contem(f1) ele vai rodar o método mas não vai fazer nada com o resultado dele.

Abraços!

Oi Bruno,

Imagina que o seu método contém está da seguinte forma:

public boolean contem(Funcionario f) {
    for(int i = 0; i < funcionarios.length; i++) {
        if(funcionarios[i] = f) {
            return true;
        ]
    }
    return false;
}

Você está respondendo apenas que o seu método retorna um booleano (true ou false). Quem for usar este método é que precisa decidir o que quer que seja com esta resposta, se você quer que imorima, que guarde numa variável, que não faça nada, etc.

Se lá no main eu simplesmente fizer:

empresa.contem(f1);

O método vai retornar o valor mas eu não fiz absolutamente nada com ele. Se quiser imprimir o valor posso fazer tanto:

System.out.println(empresa.contem(f1));

Quanto:

boolean resposta = empresa.contem(f1);
System.out.println(resposta);

Quem chama o método é que decide o que quer fazer.

Abraço!

Obrigado pessoal! Foi bem esclarecedor! :D