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

Para onde foi o 0.20 centavos?

Eu não entendi o valor da taxinha para onde foi... não aparece na conta poupança entretanto o valor e a taxa sairam da conta corrente. Muito estranho.. podem ajudar?

insira seu códigpublic class Conta{

    private double saldo ;
    private int agencia;
    private int numero;
    private Cliente titular;

    /*
     * utilizamos o tipo static quando nos referimos a uma caracterista da propria classe
     * e não ao objeto que está sendo construida.
     * A variavel total está sendo utilizada para contar a quantidade de objetos conta que 
     * está sendo construida. Se por outro lado não utilizarmos o tipo static toda vez que
     * invocasemos a classe conta  a variavel total seria referenciada á cada objeto criado
     * e não seria acumulativo como se deseja
     */
    private static int total = 0;

    /*s
     * Criando um construtor
     * 
     */




    public Conta(int agencia, int numero) {
        Conta.total++; 
        //System.out.println(" o total de contas é -> " + Conta.total);
        this.agencia =  agencia;
        this.numero = numero;
        //this.saldo = 100;
        //System.out.println("Estou construindo uma conta ..-> " + this.numero);
    }

    public void deposita(double valor) {
        //this.saldo = this.saldo + valor; outra maneira de escrever esse mesmo codigo esta na linha abaixo
        this.saldo += valor;
    }

    public boolean saca(double valor) {
        if(this.saldo >= valor) {
            //this.saldo = this.saldo - valor; outra maneira de escrever esse codigo esta na linha abaixo
            this.saldo -= valor;
            return true;
        }else {
            return false;
        }
    }

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

    }

    public double getSaldo() {
        return this.saldo;
    }

    public int getNumero() {
        return this.numero;
    }

    public void setNumero(int numero) {
        if(numero <= 0) {
            System.out.println(" você cometeu uma ação inlegal e será desligado !!");
            return ;
        }
        this.numero = numero;
    }

    public int getAgencia() {
        return this.agencia;
    }

    public void setAgencia(int agencia) {
        if(agencia <= 0) {
            System.out.println("não pode  valor menor ou igual a zero");
            return;
        }
        this.agencia = agencia;
    }

    public void setTitular(Cliente titular) {
        this.titular = titular;
    }

    public Cliente getTitular() {
        return titular;
    }

    public static int getTotal() {
        return Conta.total;
    }
}o aqui
2 respostas
solução!

Olá Wagner, tudo bem com você?

Então na verdade os 20 centavos eram apenas para "sumir" mesmo como se fosse a taxa que o banco cobra pela operação, vou te mostrar qual está sendo o fluxo do nosso programa:

  • Chamamos o cc.transfere(10, cp)

Iremos ir dentro da classe Conta com os seguintes atributos:

  1. Valor de Transferência: R$ 10,00
  2. Destino: CP

Logo no começo temos:

        if(this.saca(valor)) {

Após isso iremos chamar o método saca da nossa classe ContaCorrente passando o valor como R$ 10,00.

double valorASacar = valor + 0.2;
return super.saca(valorASacar);

Entretanto, nesse momento iremos pedir para sacar da conta o acréscimo de R$ 0,20, e teremos como resultado o valor true sinalizando que retiramos o dinheiro

Agora dentro do nosso if (que deu true) temos o:

        destino.deposita(valor);

Mas veja que nesse momento o valor ainda se refere aos atributos passado para o método transfere, no caso, Valor de Transferência: R$ 10,00, então iremos adicionar apenas os R$ 10,00 na conta poupança

Então esse é o comportamento normal do nosso código, cobramos a taxa de 20 centavos na hora de retirar o dinheiro da conta corrente, entretanto apenas transferimos o valor que foi pedido, os 20 centavos "somem" como se tivessem ido para a empresa que representa o banco :)

Qualquer coisa estou a disposição!

Abraços e Bons Estudos!

O colega Geovani deu a resposta perfeita!