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

Diferença entre a resposta e o código de exemplo

Na resposta consta >= 0 no código consta apenas > 0 Acredito que a resposta correta seja > 0 pois se não existe um valor definido não existe necessidade de efetuar saque.

public void Saca(double valorASerSacado)
{
    if (valorASerSacado <= this.saldo && valorASerSacado > 0) // usando > ao invés de >=
    {
        this.saldo -= valorASerSacado;
    }
}
4 respostas
solução!

Olá Samir,

Obrigado pelo aviso, de fato há uma divergência e logo já vamos arrumar!

Como podemos ver no exercício, pede-se que o valor a ser sacado não seja negativo. Como esta foi a única regra passada, então:

valorASerSacado >=0

Mas como você mesmo sugeriu, se pensássemos num saque de valor 0, talvez não faça muito sentido. Mas nesse caso, então seria ideal que este detalhe fizesse parte da nossa regra de negócio, também.

O seu pensamento está corrento, mas o ponto é que depende da sua regra de negócio. Se por algum motivo acharmos que um saque de valor 0 faça sentido, então mudamos a implementação.

Obrigado pelo toque! Bons estudos!

Correto, só chamei a atenção para a divergência pois pode gerar confusão.

Concordo, fiz a uma solicitação de melhoria pelo mesmo motivo porque pode gerar confusão.

Apesar de não agredir o enunciado, realmente gera uma confusão lógica.