Método roda: public void roda(Conta c) { System.out.println("Saldo anterior: " + c.getSaldo()); c.atualiza(this.selic); System.out.println("Saldo Atualizado: " + c.getSaldo()); this.saldoTotal += c.getSaldo();
}
Sua impressão: Saldo anterior: 0.0 Saldo Atualizado: 0.0 Saldo anterior: 0.0 Saldo Atualizado: 0.0 Saldo anterior: 0.0 Saldo Atualizado: 0.0 Saldo Total: 0.0 1010.0 1020.0 1029.897
Main: public static void main(String[] args) {
Conta c = new Conta(); Conta cc = new ContaCorrente(); Conta cp = new ContaPoupança(); AtualizadorDeContas adc = new AtualizadorDeContas(0.01);
adc.roda(c); adc.roda(cc); adc.roda(cp);
System.out.println("Saldo Total: " + adc.getSaldoTotal());
c.deposita(1000); c.atualiza(0.01);
c.info();
cc.deposita(1000); cc.atualiza(0.01); cc.info();
cp.deposita(1000); cp.atualiza(0.01); cp.info();
}
Superclasse Conta: public class Conta {
protected double saldo ;
public double getSaldo(){ return this.saldo; } public void setSaldo(double saldo){ this.saldo = saldo; }
public void deposita(double valor){ this.saldo += valor; }
public void saca(double valor){ this.saldo -= valor; } public void atualiza(double taxa){
this.saldo += this.saldo * taxa; } public void info(){ System.out.println(this.getSaldo());
} }
Pelo que parece o método "roda()" não recebe os valores dos objetos criados em Conta retornando nenhum saldo. Onde estou errando?