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;
}
}
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.
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
entanglement
Ou então, você pode lançar uma exceção:
classAplicacaoExceptionextendsRuntimeException{....}....../** * 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. */publicvoidsacar(doublevalor)throwsAplicacaoException{if(valor<0)thrownewAplicacaoException(String.format("Tentou sacar valor negativo: %.2f",valor));doublesaldoFinal=saldo-valor;if(saldoFinal<0)thrownewAplicacaoException(String.format("Saldo para conta %s insuficiente para poder sacar %.2f",codigoConta,valor));saldo=saldoFinal;}