private List<Telefone> telefones;
public List<Telefone> getTelefones() {
return telefones;
}
}
class Telefone {
private String numero;
public String getNumero() {
return numero;
}
}
[/code][/quote]
public class Telefone {
private int cod;
private String num_Telefone;
public void setCod(int cod) {
this.cod = cod;
}
public String getNum_Telefone() {
return num_Telefone;
}
public void setNum_Telefone(String num_Telefone) {
this.num_Telefone = num_Telefone;
}
}
public class ListTelefone {
private List<Telefone> listTelefone;
public ListTelefone() {
listTelefone = new ArrayList<Telefone>();
}
public void LimparTelefone() {
this.listTelefone.clear();
}
public void AdcionarTelefone(Telefone t) {
listTelefone.add(t);
}
}
public class ListContato {
private List<Contato> listaContato;
public ListContato() {
this.listaContato = new ArrayList<Contato>();
}
public void LimparContato() {
this.listaContato.clear();
}
public void AdcionarContato(Contato c) {
this.listaContato.add(c);
}
public List<Contato> MostrarListaContato(){
return this.listaContato;
}
}
public class Contato {
private int cod;
private String nome;
private String cidade;
private ListTelefone telefone;
private String email;
public void setCod(int cod) {
this.cod = cod;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public ListTelefone getTelefone() {
return telefone;
}
public void setTelefone(ListTelefone telefone) {
this.telefone = telefone;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
Opa manolo, estamos aqui pra ajudar. Da uma olhada no exemplo que eu passei, o que você acha dele? Você não acha que fica mais entendível? Fica bem explícito que Contato tem vários Telefones e fica mais fácil de trabalhar também.
Isso mesmo. Na verdade eu não discordei, te mostrei uma solução, que ao meu ver, é melhor, mais orientado a objetos. Na sua implementação vc está encapsulando sua lista em outra classe e novamente, ao meu ver, não seria uma boa solução.
[quote=macario1983][quote=digaoneves]Vamos por passos, quem tem a lista de contatos? vamos supor que seja uma Pessoa. então ficamos assim:
Uma pessoa tem uma lista de contatos, e cada contato tem uma lista de telefones. Você tem que ir acessando hierarquicamente.
Fez sentido?[/quote]
Um contato PODE ( 0…N) ter varios numeros de telefone[/quote]
Eu sei, cara, se você diz como pode ter acesso a um contato específico, aí a situação é diferente.
O ArrayList você acessa por índice, se quer pegar o primeiro da lista tem que fazer assim:Contato contato = listaContatos.get(0); então no caso pra fazer o que você quer, pegaria a lista de telefones após isso, mas isso não fica muito bonito enviando um número pra buscar o contato, né, como você vai saber se é o cara que você quer?
Nesse caso eu sugiro que use uma implementação de Map, você ja leu sobre elas?
[quote=digaoneves][quote=macario1983][quote=digaoneves]Vamos por passos, quem tem a lista de contatos? vamos supor que seja uma Pessoa. então ficamos assim:
Uma pessoa tem uma lista de contatos, e cada contato tem uma lista de telefones. Você tem que ir acessando hierarquicamente.
Fez sentido?[/quote]
Um contato PODE ( 0…N) ter varios numeros de telefone[/quote]
Eu sei, cara, se você diz como pode ter acesso a um contato específico, aí a situação é diferente.
O ArrayList você acessa por índice, se quer pegar o primeiro da lista tem que fazer assim:Contato contato = listaContatos.get(0); então no caso pra fazer o que você quer, pegaria a lista de telefones após isso, mas isso não fica muito bonito enviando um número pra buscar o contato, né, como você vai saber se é o cara que você quer?
Nesse caso eu sugiro que use uma implementação de Map, você ja leu sobre elas?[/quote]
Ler eu li, ontem ate conversando com meu professor sobre isso…ler até que é facil sobre set, list e map mas o problema é na hora de usar…codigo!!!
Eu peguei um codigo de exemplo e joguei no eclipse de um hashmap e deu erro
Era muito estranho…
Outro detalhe, irei acessar o contato oferencendo a opcao ao usuario o codigo, nome, cidade ou email…pois o exercicio pede isso
Porque creio que a idéia seja correr a lista de Contato, buscando pelo atributo informado. Vamos supor que a busca é por nome, aí faz assim:for(Contato contato : listaContatos){
if(contato.getNome().equals(nomeInformado)){
System.out.println(contato);
}
}
Supondo que a variável nomeInformado possui a String que o usuário digitou. Não sei se isso é muito avançado para o que você está acostumado, você ja percorreu arrays, listas?
Porque creio que a idéia seja correr a lista de Contato, buscando pelo atributo informado. Vamos supor que a busca é por nome, aí faz assim:for(Contato contato : listaContatos){
if(contato.getNome().equals(nomeInformado)){
System.out.println(contato);
}
}
Supondo que a variável nomeInformado possui a String que o usuário digitou. Não sei se isso é muito avançado para o que você está acostumado, você ja percorreu arrays, listas?[/quote]
ter algo pronto tenho mas resolvi refazer meu trabalho ainda mais que a faculdade entrou de greve acho que terei bastante tempo para ver isso
sobre o q vc passou é um for each que eu ja li no deitel e ontem fiz de exemplo
problema de que estou aprendendo e me sinto as vezes perdido para fazer um trabalho bem organizado e usando bem a linguagem por isso pedi a ajuda
por exemplo o cara la em cima pediu para eu colocar um arraylist da classe telefone dentro da classe contato
queria dicas da moçada que sabe bem mais q eu
vi aqui o problema do map eu estava coloando tipo primitivo
A idéia do Map era pra caso você tivesse uma chave fixa pra buscar seu objeto, mas como você tem que conseguir buscar por mais de uma chave, acho melhor você iterar um por um. Fica mais simples.
você precisa de um mecanismo de controle pra saber qual chave será usada no momento, se é o nome ou qualquer uma das outras.