[quote=dambros][quote=kauemartins][quote=dambros][quote=kauemartins][quote=dambros]Eu não consigo visualizar a situação que está enfrentando, pois não consigo ver pra que serve seus vetores. Para que serve esse vetor?
Eu deixaria o contador dentro do construtor do POJO Pessoa por exemplo, assim toda vez que uma pessoa for criada (Pessoa p = new Pessoa()) esse contador será incrementado e é independente de janela ou o que for.
[/quote]
Seguinte, tenho que criar um programa utilizando interface (estou usando swing), para cadastrar pessoas e anúncios (eles se entrelaçam, pois um anúncio tem seu “dono”). Alem de cadastrar tenho que listar balanço de cada usuário e geral (oque vendeu, quanto ganhou, …). Por tanto preciso usar dois vetores para armazenar dados da classe pessoas e anúncios, sendo que a posição do vetor seria o ID.
Deu para entender mais ou menos ??[/quote]
Não seria muito mais simples você persistir isso com mapeamento OneToOne ou OneToMany (caso uma pessoa possa ter mais de 1 anuncio)? Dai o banco se preocupará de fazer toda essa lógica para você…
Enfim, se quiser usar vetores eu não sei como poderia fazer essa lógica. Mas respondendo sua pergunta anterior, se você usar o código abaixo inicializando o valor com 0 ou não, será a mesma coisa. Uma vez que você instnacia um atributo estático, ele não será resetado novamente por novas instâncias. Pode chamar mil “new Classe1()” que o valor do contador não será zerado.
private static int contador = 0;
Enfim, não vejo nem porque iniciar um tipo primitivo com 0, sendo que esse é seu valor default. Caso precisasse iniciar com algum outro valor além do 0, dai sim faria sentido.
[/quote]
Sou novo no mundo do java, puxei POO esse semestre na faculdade, pensei que o default era “lixo” como no C++.
Sobre o BD, eu pensei em fazer com banco, mas o professor não permitiu. Um degrau por vez, ele já está olhando com maus olhos eu usar interface, sendo ele nem ensinou isso ainda.[/quote]
Somos 2 novatos então Mas o que der para ajudar, estou ai. J’a apanhei com as mesmas coisas.
Talvez no seu caso fosse mais fácil usar uma Hashtable que 2 vetores, assim não se preocuparia com ArrayOutOfBoundException, e talvez nem precisasse do contador:
//Primeira string = Autor e a segunda = anuncio
Hashtable<String, String> anuncios = new Hashtable();
anuncios.put("Jose da Silva", "José foi na praia");
anuncios.put("Fabio Silva", "Maria lavou roupa");
System.out.println(anuncios.get("Jose da Silva"));
//terá retorno de "José foi na praia"
[/quote]
O problema que o cadastro tem que ser separado e os dados de Usuário e Anúncio, não restringe em uma só variável (nome).
Vou te mandar por MP, o roteiro para ver se consegue dar dicas mais fiéis ao meu problema.