2
respostas

Os 20 centavos não transferem.

public class ContaCorrente extends Conta {

    public ContaCorrente(int agencia, int numero) {
        super(agencia, numero);
    }


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

}
2 respostas

Olá Douglas tudo bem? Analisando o seu código acredito que o erro não esteja nesta parte em especifico do código testei o seu código diretamente no meu e deu certo, vou deixar aqui os meus métodos saca tanto da classe conta quanto da classe contaCorrente para você dar uma olhada espero ter ajudado bons estudos, e se tiver mais alguma dúvida só enviar aqui a comunidade ficara feliz em responde-lá. A e não se assuste fiz algumas alterações no meu código para ficar um pouco melhor(na minha opinião)

public abstract class conta {
    @Override
    public boolean saca(double valor) {
        System.out.println("Taxa para transações em conta corrente: 20 centavos");
        return super.saca(valor + 0.20);
    }
}
public class ContaCorrente extends conta

    @Override
    public boolean saca(double valor) {
        System.out.println("Taxa para transações em conta corrente: 20 centavos");
        return super.saca(valor + 0.20);
    }

Espero ter ajudado.

O meu código não estava transferindo os 20 centavos por causa do método "transfere".

Veja se está igual o código abaixo

public boolean transfere(double valor, Conta destino) {
        if(this.saca(valor)) {
                destino.deposita(valor);
                return true;
        } else {
                return false;
        }
    }

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