Meu código não esta retirando os vinte centavos de taxa de saque.
Alguém consegue ajudar?
class Conta {
private double saldo;
private int agencia;
private int numero;
private Cliente titular;
private static int total = 0;
public Conta(int agencia, int numero) {
Conta.total++;
this.agencia = agencia;
this.numero = numero;
//System.out.println("Conta " + this.numero + " criada");
//System.out.println("O total de contas nesta agência é " + Conta.total);
}
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 destino) {
if (this.saldo >= valor) {
this.saldo -= valor;
destino.deposita(valor);
return true;
}
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("Não é possível valores negativos");
return;
}
this.numero = numero;
}
public int getAgencia() {
return this.agencia;
}
public void setAgencia(int agencia) {
if(agencia <= 0) {
System.out.println("Não é possível valores negativos");
return;
}
this.agencia = agencia;
}
public void setTitular(Cliente titular) {
this.titular = titular;
}
public Cliente getTitular() {
return titular;
}
public static int getTotal() {
return Conta.total;
}
}
public class ContaCorrente extends Conta {
public ContaCorrente(int agencia, int numero) {
super(agencia, numero);
}
@Override
public boolean saca(double valor) {
double valorASacar = valor + 0.2;
return super.saca(valorASacar);
}
}
public class TesteConta {
public static void main(String[] args) {
ContaCorrente cc = new ContaCorrente(111, 111);
cc.deposita(100.0);
ContaPoupanca cp = new ContaPoupanca(222, 222);
cp.deposita(200.0);
cc. transfere(10.0, cp);
System.out.println("CC: " + cc.getSaldo());
System.out.println("CP: " + cp.getSaldo());
}
}
Obrigado