Apostila Caelum

1. Apostila Caelum

mateus da silva
metalicarus1

(usa Ubuntu)

Enviado em 30/04/2016 - 13:29h

Olá, estou com um problema em meu código:


package bancoapp;

import java.lang.reflect.Array;

public class Banco {

protected Conta[] array;

Banco (int valor){
this.array = new Conta[valor];

}


public void adiciona (Conta conta){

for(int i=0;i< this.array.length;i++){
if(this.array[i] == null){
this.array[i] = conta ;
return;
}
else {
System.out.println("Array Cheio");
}

}
}


public Conta pegaConta(int x ){
System.out.println("Conta do Banco: "+array[x]);
return array[x];

}

public int pegaTotalDeContas(){
int total = 0 ;
for( int i = 0 ; i < this.array.length; i++){
if ( this.array[i] == null){
total += 0 ;

}
else{
total+=1;
}

}
return total;
}
}

O problema é que quando rodo o programa ele me retorna isso
Array Cheio
Array Cheio
Array Cheio
Conta do Banco: bancoapp.Conta@14ae5a5
CONTA:
Saldo anterior: 500.0
Saldo atual: 510.0
Conta do Banco: bancoapp.ContaCorrente@7f31245a
CONTA:
Saldo anterior: 499.9
Saldo atual: 519.896
Conta do Banco: bancoapp.ContaPoupanca@6d6f6e28
CONTA:
Saldo anterior: 500.0
Saldo atual: 530.0
CONTA:
Saldo anterior: 510.0
Saldo atual: 520.2
CONTA CORRENTE
Saldo anterior: 519.896
Saldo atual: 540.69184
CONTA POUPANCA
Saldo anterior: 530.0
Saldo atual: 561.8
_________________
Saldo Total: 3182.58784



  


2. Re: Apostila Caelum

Paulo Dias
di4s

(usa XUbuntu)

Enviado em 30/04/2016 - 17:28h

Oi, tudo bem?

Poste o método main. O que você espera que ele faça?

Posso adiantar que os métodos adiciona e pegaTotalDeContas estão com uma lógica no mínimo estranha. Veja:


public void adiciona (Conta conta){

for(int i=0;i< this.array.length;i++){
if(this.array[ i ] == null){
this.array[ i ] = conta ;
return;
}
else {
System.out.println("Array Cheio");
}

}
}


Imagine que você já adicionou 3 contas, quando adicionar a próxima conta, o método vai testar se a primeira posição do array é null( não é, imprime "Array cheio"), vai testar se a segunda posição do array é null( não é, imprime "Array cheio"), vai testar se a terceira posição do array é null( não é, imprime "Array cheio") e só depois vai adicionar a nova conta.



public int pegaTotalDeContas(){
int total = 0 ;
for( int i = 0 ; i < this.array.length; i++){
if ( this.array[ i ] == null){
total += 0 ;

}
else{
total+=1;
}

}
return total;
}


Por que somar zero no total? Isso pode ser simplificado utilizando o operador != no lugar do ==.


Linux Professional Institute - LPIC-1
Novell Certified Linux Administrator - CLA

http://twitter.com/p4ulodi4s
http://www.prminformatica.com.br/


3. Método Main

mateus da silva
metalicarus1

(usa Ubuntu)

Enviado em 30/04/2016 - 17:37h

Aqui esta o método main


package bancoapp;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Banco banco;
Conta c = new Conta();
ContaCorrente cc = new ContaCorrente();
ContaPoupanca cp = new ContaPoupanca();
AtualizarContas ac = new AtualizarContas(0.02);
banco = new Banco(3);


// Valor depositado
c.depositar(500.00);
cc.depositar(500.00);
cp.depositar(500.00);

banco.adiciona(c);
banco.adiciona(cc);
banco.adiciona(cp);

for(int i =0 ; i < banco.pegaTotalDeContas() ; i ++){
if( banco.pegaTotalDeContas()!= 0){
ac.atual(banco.pegaConta(i));

}
else
System.out.println("Nenhuma Conta Criada");
}

System.out.println("_________________");
System.out.println("Saldo Total: "+ac.getSaldoTotal());

}

}








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts