1
resposta

Resolvendo o desafio proposto

package bytebank;

public class Conta {

double saldo;
int agencia;
int numero;
String titular;

public void deposita(double valor) {

    this.saldo = this.saldo + valor; //equivalente a 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 destino, **Conta origem**) {** //referenciando a conta de origem**
        if(origem.saca(valor)){// sem utilizar a referência Conta origem if(this.saldo >= valor) { this.saldo -= valor; }
        destino.deposita(valor);
        return true;
    } //else { return false; } pode ser suprimido pois a linha debaixo vai executar caso o if dê falso

    return false;
}

}

//na classe TestaMetodo:

public class TestaMetodo {

public static void main(String[] args) {

    Conta contaDoPaulo = new Conta();
    contaDoPaulo.saldo = 100;
    contaDoPaulo.deposita(50);

    Conta contaDaMarcela = new Conta();
    contaDaMarcela.deposita(1000);
    if(contaDaMarcela.transfere(300, contaDoPaulo, **contaDaMarcela**)) { **//chamando a Conta origem**
        System.out.println("Transferência efetuada com sucesso.");
    } else {
        System.out.println("Saldo insuficiente.");
    }

    System.out.println("Saldo da conta da Marcela R$" + contaDaMarcela.saldo);
    System.out.println("Saldo da conta do Paulo R$" + contaDoPaulo.saldo);

}

}

1 resposta

Olá André! Tudo bem?

Excelente solução!

É muito bom ver que está se saindo bem!

Quando aprendemos algo novo e compartilhamos com os colegas do fórum o nosso aprendizado, conseguimos fixar ainda mais as informações do curso!

Além disso podemos dessa forma ajudar outros que talvez estejam com dificuldades no curso!

Conte conosco quando precisar de ajuda também! 😄

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!