Criando método

3 respostas
A

qual é melhor boolean ou o void e pq?

public void sacar(double valor) {//ao chamar o metodo devera passar um valor if(valor > 0){ saldo -= valor; //ou saque = saldo - valor; // -= decrementa de saldo } }

ou

public boolean sacar(double valor) {//ao chamar o metodo devera passar um valor if(valor > 0){ saldo -= valor; //ou //saque = saldo - valor; //saldo é -= decrementado pelo valor return true; }else{ return false; } }

3 Respostas

D

Se você quiser um retorno da operação sacar o melhor é o boolean, porque ai você poderá dar um feedback, se true saldo realizado com sucesso, senão (false) saldo insuficiente.

if(sacar(valorASerSacaco)){

System.out.println(Saque realizado com sucesso);

}else{

System.out.println(Saldo insufuciente);

}
D

Acho que eu faria lançar uma exceção caso valor fosse <= 0. Porque com boolean, na verdade o valor retornado diz se o parâmetro passado foi valido ou não. E além disso, eu validaria o valor antes de chamar o método sacar.

E

Ou então, você pode lançar uma exceção:

class AplicacaoException extends RuntimeException {
....
}
...
...
/**
 * Tenta sacar o valor desejado, e se não conseguir (por saldo insuficiente ou valor negativo), lança uma AplicacaoException.
 * @param valor O valor a ser sacado.
 * @throws AplicacaoException saldo insuficiente.
 */
public void sacar (double valor) throws AplicacaoException {
    if (valor < 0) throw new AplicacaoException (String.format ("Tentou sacar valor negativo: %.2f", valor));
    double saldoFinal = saldo - valor;
    if (saldoFinal < 0) throw new AplicacaoException (String.format ("Saldo para conta %s insuficiente para poder sacar %.2f", codigoConta, valor));
    saldo = saldoFinal;
}
Criado 13 de julho de 2010
Ultima resposta 13 de jul. de 2010
Respostas 3
Participantes 4