1
resposta

Minha resolução com função retiraValor e variavel ok

package bytebank;

public class Conta {

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


    void deposita(double valor) {
        this.saldo += valor;
    }
    int ok = 1;
    public boolean retiraValor(double valor) {
        if (this.saldo >= valor) {
            this.saldo -= valor;
             ok = 1;
            return true;

        } else {
            ok = 0;
            return false;

        }

    }

    public boolean saca(double valor) {
        retiraValor(valor);
        if (ok == 1) {
            System.out.println("saque efetuado R$" + valor);
            return true;
        } 
            System.out.println("saldo Insuficiente, para realizar o saque");
            return false;
        }


    public boolean transfere(double valor, Conta destino) {
        retiraValor(valor);
        if (ok == 1) {
            System.out.println(this.titular + " transferencia efetuada R$" + valor + " para " + destino.titular);
            destino.deposita(valor);
            return true;
        } else {
            System.out.println("saldo Insuficiente, para realizar a transferencia");
            return false;
        }

    }
}
package bytebank;

public class CriaConta {
    public static void main(String[] args) {

        Conta Primeira = new Conta();
        Primeira.saldo = 200;
        Primeira.numero = 12;
        Primeira.titular = "Andre";



        System.out.println(Primeira.titular + " seu saldo eh de R$ " + Primeira.saldo);

        Primeira.saca(50);




        Conta Segunda = new Conta();
        Segunda.titular = "Chris";
        Segunda.saldo = 0;

        Primeira.transfere(200, Segunda);

        //System.out.println(Primeira.titular + " seu saldo eh de R$ " + Primeira.saldo);
        //System.out.println("CC" +Primeira.numero);
        //System.out.println("AG"  +Primeira.agencia);
        //System.out.println();

        System.out.println(Segunda.titular + " seu saldo eh de R$ " + Segunda.saldo);
        //System.out.println("CC" +Segunda.numero);
        //System.out.println("AG"  +Segunda.agencia);

        System.out.println(Primeira.titular + " seu saldo eh de R$ " + Primeira.saldo);


    }
}

Andre seu saldo eh de R$ 200.0 saque efetuado R$50.0 saldo Insuficiente, para realizar a transferencia Chris seu saldo eh de R$ 0.0 Andre seu saldo eh de R$ 150.0

Funcionou certinho saldo era de: 200 tirou 50, ficou com 150 e nao conseguiu transferir mais 200, assim dando a mensagem de erro.

usando um valor menor para transferencia (30):

package bytebank;

public class CriaConta {
    public static void main(String[] args) {

        Conta Primeira = new Conta();
        Primeira.saldo = 200;
        Primeira.numero = 12;
        Primeira.titular = "Andre";



        System.out.println(Primeira.titular + " seu saldo eh de R$ " + Primeira.saldo);

        Primeira.saca(50);




        Conta Segunda = new Conta();
        Segunda.titular = "Chris";
        Segunda.saldo = 0;

        Primeira.transfere(200, Segunda);

        //System.out.println(Primeira.titular + " seu saldo eh de R$ " + Primeira.saldo);
        //System.out.println("CC" +Primeira.numero);
        //System.out.println("AG"  +Primeira.agencia);
        //System.out.println();

        System.out.println(Segunda.titular + " seu saldo eh de R$ " + Segunda.saldo);
        //System.out.println("CC" +Segunda.numero);
        //System.out.println("AG"  +Segunda.agencia);

        System.out.println(Primeira.titular + " seu saldo eh de R$ " + Primeira.saldo);


    }
}

Andre seu saldo eh de R$ 200.0 saque efetuado R$50.0 Andre transferencia efetuada R$30.0 para Chris Chris seu saldo eh de R$ 30.0 Andre seu saldo eh de R$ 120.0

1 resposta

Show de bola sua resolução André!!!