Exception in thread "main" java.lang.StackOverflowError

2 respostas
A
Por favor alguem pode me ajudar com esse codigo ele esta dando esse erro Exception in thread "main" java.lang.StackOverflowError so quero q ele percorra td o arraylist
public class CartaoDebito extends Cartao {
	ArrayList<ContaPessoa> c = new  Agencia().getC();
	public void valSenha(int senha){
		
		for (int i=0; i<c.size(); i++){
			
			System.out.println(c);
			
		}


public static void main(String[] c){
		new CartaoDebito().valSenha(1);
		
	}
}
public class Agencia {
	int numAgencia; 
	ArrayList<ContaPessoa> c = new ArrayList<ContaPessoa>();
	Agencia agn = new Agencia();
	
	
	 public Agencia() {
		
		
	 }

	public ArrayList<ContaPessoa> getC() {
		return c;
	}

	public void setC(ArrayList<ContaPessoa> c) {
		this.c = c;
	}

	ContaPessoa a1 = new ContaPessoa(001,500);
	 ContaPessoa a2 = new ContaPessoa(011,700);
	 ContaPessoa a3 = new ContaPessoa(111,200);
	 ContaPessoa a4 = new ContaPessoa(002,300);
	 ContaPessoa a5 = new ContaPessoa(022,650);
	
	public  Collection<ContaPessoa> carregaContas(){	
	c.add(a1);
	c.add(a2);
	c.add(a3);
	c.add(a4);
	c.add(a5);
	return c;
	}	
		
}

2 Respostas

KWill

Olhando por cima, creio que o problema não seria a parte de iterar pela coleção, me parece que o código nem sequer chega lá.
Pelo que eu to vendo tu anda chamando o construtor da classe Agencia demasiadamente via recursão.

# public class Agencia {  
#     int numAgencia;   
#     ArrayList<ContaPessoa> c = new ArrayList<ContaPessoa>();  
#     Agencia agn = new Agencia();  //Eis aqui sua "cagada" recursiva
#       
#       
#      public Agencia() {  
#           
#           
#      }
# }

Inté.

A

vlw velho deu certo aki
abraco

Criado 26 de fevereiro de 2009
Ultima resposta 26 de fev. de 2009
Respostas 2
Participantes 2