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

[Dúvida] Porque que com um método que tem retorno não consigo imprimir uma mensagem na tela, mas com um método void consigo?

método sem retorno
public void checkOut(double value) {
        if (this.balance < value || this.balance == 0.0) {
            System.out.println("Impossible to withdraw");
        } else {
            this.balance -= value;
        }
    }
método com retorno
public boolean checkOut(double value) {
        if (this.balance < value || this.balance == 0.0) {
            return false;
        } else {
            this.balance -= value;
            return true;
        }
    }
2 respostas
solução!

Você consegue imprimir mensagens na tela ou no console em qualquer caso, você só precisa botar a mensagem antes do return da função, segue o exemplo:

public boolean checkOut(double value) {
        if (this.balance < value || this.balance == 0.0) {
            System.out.println("Resposta do if"); // antes do return
            return false;
        } else {
            System.out.println("Resposta do else"); // antes do return
            this.balance -= value;
            return true;
        }
    }

Tudo que você mando o programa executar após o return nunca será executado, justamente pelo fato do return sair da função devolvendo um valor.

Muito obrigado pela rápida resposta cara, ajudou muito Te mandei um convite lá no Linkedln, abraço <33

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software