3
respostas

usando método saca dentro do método transfere

Boa noite Está correto essa forma de usar o método saca dentro do método transfere?

public class Conta { double saldo; int agencia; int numero; String titular;

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

}

3 respostas

Oie Eduardo, tudo bem contigo?

O jeito que você usou o método "saca" está certo sim! A única coisa que te chamo atenção nesse código é que o método transfere não deve receber o parâmetro "Conta origem" já que a origem é a instancia de "Conta" irá chamar esse método, arrumando esse detalhe seu código ficaria assim:

Dentro da classe "Conta":

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

Na classe teste ficaria assim:

public class TesteConta {

    public static void main(String[] args) {
        Conta c1 = new Conta();
        Conta c2 = new Conta();
        c1.deposita(50);

        c1.transfere(20, c2); // c1 já é a conta de origem que vai chamar o método transfere, por isso ele nesse precisa receber como argumento uma conta de origiem porque o próprio c1 é a conta de origem.
    }
}

Espero que tenha ficado claro! :)

Qualquer coisa fico a disposição. Bons estudos!

Boa noite Igor

Eu não sabia como chamar a conta origem para usar o saca sem colocar nos parâmetros do transfere Ficou claro sim

Tks

Maravilha!

Qualquer outra dúvida fico a diposição :)

Bons estudos!