Exercicio
10) (Opcional, Trabalhoso) Crie uma classe Banco que possui um array de Conta. Repare que num array de
Conta você pode colocar tanto ContaCorrente quanto ContaPoupanca. Crie um método void adiciona(Conta
c), um método Conta pegaConta(int x) e outro int pegaTotalDeContas(),
entao eu fiz minhas classes
public class Banco
{
Conta[] arrayConta;
public Banco(int valor)
{
this.arrayConta = new Conta[valor];
}
public void adiciona(Conta c)
{
for(int i=0; i < arrayConta.length; i++)
{
if(this.arrayConta[i] == null)
{
this.arrayConta[i] = c;
}
else
System.out.println("ArrayConta Cheia");
}
}
public Conta pegaConta(int x)
{
System.out.println("Conta do Banco"+ arrayConta[x]);
return arrayConta[x];
}
public int pegaTotalDeContas()
{
int total =0;
for(int i=0; i < arrayConta.length; i++)
{
if(this.arrayConta[i] == null)
total +=0;
else
total++;
}
return total;
}
}
public class TestBanco
{
public static void main(String args[])
{
Banco banco;
Conta c = new Conta();
Conta cc = new ContaCorrente();
Conta cp = new ContaPopanca();
AtualizadorDeContas adc = new AtualizadorDeContas(0.01);
banco = new Banco(3);
c.deposita(1000);
cc.deposita(1000);
cp.deposita(1000);
banco.adiciona(c);
banco.adiciona(cc);
banco.adiciona(cp);
for(int i=0;i < banco.pegaTotalDeContas(); i++)
{
if(banco.pegaTotalDeContas() != 0)
{
adc.roda(banco.pegaConta(i));
}
else
System.out.println("Nenhuma conta criada");
}
}
}
e a classe
[code]
public class AtualizadorDeContas
{
private double saldoTotal = 0;
private double selic;
public AtualizadorDeContas(double selic)
{
this.selic = selic;
}
public void roda(Conta c)
{
System.out.println("Saldo anterior"+c.getSaldo());
c.atualizar(selic);
System.out.println("Seu saldo final é: "+c.getSaldo());
this.saldoTotal += c.getSaldo();
}
public void setSaldoTotal(double saldoTotal)
{
this.saldoTotal = saldoTotal;
}
public double getSaldoTotal()
{
return this.saldoTotal;
}
}[/code]
entao elas roda normal mais o resultado
é esse
[color=red]
ArrayConta CheiaConta
ArrayConta CheiaConta
ArrayConta CheiaConta
ArrayConta CheiaConta
ArrayConta CheiaConta
ArrayConta CheiaConta
Conta do BancoConta@190d11
Saldo anterior1000.0
Seu saldo final é: 1010.0
Conta do BancoConta@190d11
Saldo anterior1010.0
Seu saldo final é: 1020.1
Conta do BancoConta@190d11
Saldo anterior1020.1
Seu saldo final é: 1030.301
[/color]
entao nao era para aparecer ArrayConta CheiaConta