pessoal, estou com muita dúvida ao implementar uma agenda telefonica(nome e elefone) em um LinkedList…
por exemplo segue meu codigo…
[code]import javax.swing.;
import java.util.;
class DadosPessoais{
private String nome;
private int telefone;
public DadosPessoais(){
this.nome = "";
this.telefone = 0;
}
public DadosPessoais(String texto, int num){
this.nome = texto;
this.telefone = num;
}
public DadosPessoais(String texto){
this.nome = texto;
}
public DadosPessoais(int num){
this.telefone = num;
}
public void entraNome(String texto){
this.nome = texto;
}
public void entreTelefone(int tel){
this.telefone = tel;
}
public String mostraNome(){
return this.nome;
}
public int mostraTelefone(){
return this.telefone;
}
}
public class ListaAgenda{
private LinkedList lista = new LinkedList();
public void recebePessoa(DadosPessoais p){
this.lista.add(p);
}
public void mostraLista(){
System.out.println(this.lista);
}
public static void main(String arg[]){
DadosPessoais pessoa = new DadosPessoais("Felipe", 1313);
ListaAgenda agenda = new ListaAgenda();
agenda.recebePessoa(pessoa);
agenda.mostraLista();
}
}[/code]
até ai tudo bem , na compilacao num da nenhum erro…
mas quando executa,
VEJAM SÒ O RESULTADO: run-single: [DadosPessoais@19821f] CONSTRUÍDO COM SUCESSO (tempo total: 5 segundos)
private LinkedList<DadosPessoais> lista = new LinkedList<DadosPessoais>();
public void mostraLista() {
for (DadosPessoais p : lista) {
System.out.println(lista.mostraNome());
}
}
Tem que criar novos objetos a cada vez que for adicionados novas pessoas e novos dados:
DadosPessoais pessoa = new DadosPessoais();
ListaDadosPessoais dados = new ListaDadosPessoais();
int i=0;
pessoa.recebeNome("ab");
pessoa.recebeTelefone(12);
dados.insereLista(pessoa);
pessoa = new DadosPessoais(); //cria uma nova pessoa
dados = new ListaDadosPessoais(); //cria um novo dado
pessoa.recebeNome("bc");
pessoa.recebeTelefone(45);
dados.insereLista(pessoa);
Senão tu sempre vai referenciar a mesma Pessoa com os mesmos Dados dela.
[quote=dionat4n]
Tem que criar novos objetos a cada vez que for adicionados novas pessoas e novos dados:
DadosPessoais pessoa = new DadosPessoais();
ListaDadosPessoais dados = new ListaDadosPessoais();
int i=0;
pessoa.recebeNome("ab");
pessoa.recebeTelefone(12);
dados.insereLista(pessoa);
pessoa = new DadosPessoais(); //cria uma nova pessoa
dados = new ListaDadosPessoais(); //cria um novo dado
pessoa.recebeNome("bc");
pessoa.recebeTelefone(45);
dados.insereLista(pessoa);
Senão tu sempre vai referenciar a mesma Pessoa com os mesmos Dados dela.
[quote=FelipeGeorge13][quote=dionat4n]
Tem que criar novos objetos a cada vez que for adicionados novas pessoas e novos dados:
DadosPessoais pessoa = new DadosPessoais();
ListaDadosPessoais dados = new ListaDadosPessoais();
int i=0;
pessoa.recebeNome("ab");
pessoa.recebeTelefone(12);
dados.insereLista(pessoa);
pessoa = new DadosPessoais(); //cria uma nova pessoa
dados = new ListaDadosPessoais(); //cria um novo dado
pessoa.recebeNome("bc");
pessoa.recebeTelefone(45);
dados.insereLista(pessoa);
Senão tu sempre vai referenciar a mesma Pessoa com os mesmos Dados dela.