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