3
respostas

Método Transferir não transfere os 20 centavos

Olá, na aula é apresentado o seguinte código

@Override
 public boolean saca(double valor) {
    double valorASacar = valor + 0.2;
    return super.saca(valorASacar);
}

o valor fica: CC: 89.90 CP: 210.0

Tudo certo, descontou os 20 centavos corretamente, porem, os vinte centavos não foram para a CP, o que aconteceu ? Pelo que entendi, os 20 centavos foram passados junto com o valor solicitado de saque, fiquei confuso pra onde foi esse valor.

3 respostas

Pelo que entendi os 0,20 é uma cobrança adicional pelo serviço de saque, Saca-se o valor + 0,20 , porem transfere-se somente o valor mencionado.

Rogerio, exatamente, porem os 20 centavos são passados juntos na variável "valorASacar", isso que não estou entendendo.

você poderia atribuir o valor

public boolean saca(double valor) {
double valorASacar -= 0.2; 
    double valorASacar = valor + 0.2;
    return super.saca(valorASacar);
}

Imagine assim, lógica do valor que você irá sacar sempre irá ser descontado o valor de R$0,20? Então o valorASacar necessitar ter isso com ele, então você atribui um valor a ele. Certo?

Se for mais do que 2 vezes, você poderia usar a condição if( mas isso você pode pensar depois).

Coloca em uma folha o que cada atributo e objeto irão ter, além da classe e métodos. ( UML Diagrama de Classe).

Espero ter ajudado, e continue treinando. Se estiver com dúvidas, pode chamar.

Abraços!!!

Um café, um pão de queijo e uma rede

Excelsior!