Pergunto: caso queria inserir outro contato, preciso criar um novo Objeto (ex. cont2) para inserir na lista?
Se sim, como fazer isso sem a necessidade de um Array.
Utilizei Lista justamente para evitar o Array convencional com capacidade limitada.
Assim ele vai criar uma instancia nova para cada contato adicionado.
[]´s
Gustavo.foa
poderia explicar melhor o código?
porque o break faz a execução ir para o final do Swicth (sem executar o código q vc quer colocar) …
Poderia explicar a lógica do seu problema?
rissato
da mesma forma que vc criou o primeiro Contatos. Mas isso não quer dizer que vc precisa criar outra referência, basta criar um novo Contatos com um “new Contatos()” e atribuir a mesma variável. Observe o código:
while(contador++<maximo) {
Contatos c = new Contatos();
...//Setar os campos do objeto
suaLista.add(c);
}
Em cada iteração desse while, vc está adicionando um objeto diferente a lista.
T
Thiago_veiga
Acho que isso pode te ajudar
Contatoscont=null;do{cont=newContatos();cont.setNome(JOptionPane.showInputDialog(null,"Nome:")); cont.setTel(JOptionPane.showInputDialog(null, "Telefone:")); listaContatos.add(cont); int i = JOptionPane.showOptionDialog(null, "Desejacontinuar?", "Confirmação",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,null,JOptionPane.YES_OPTION);}while(i==JOptionPane.YES_OPTION);
xwillianss
Não vejo o porque de usar JOptionPane como interface final do usuário. Eu prefiro utilizar Forms, JLabel, JButtons e JTextFields.
R
rafaeU
yorgan:
Contatos cont;
....
case 1:
cont = new Contatos();
cont.setNome(JOptionPane.showInputDialog(null, "Nome: "));
cont.setTel(JOptionPane.showInputDialog(null, "Telefone: "));
listaContatos.add(cont);
break;
Assim ele vai criar uma instancia nova para cada contato adicionado.
[]´s
É isso mesmo yorgan.
Funcionou beleza.
Meu medo era ficar entupindo a memória de Objetos do tipo Contatos.
Talvez eu tenha perdido algum conceito nesse sentido.
R
rafaeU
Gustavo.foa:
poderia explicar melhor o código?
porque o break faz a execução ir para o final do Swicth (sem executar o código q vc quer colocar) …
Poderia explicar a lógica do seu problema?
Se eu não colocar o break, o programa passa pelo case 2: também.
E não é o que eu desejo.
R
rafaeU
rissato:
da mesma forma que vc criou o primeiro Contatos. Mas isso não quer dizer que vc precisa criar outra referência, basta criar um novo Contatos com um “new Contatos()” e atribuir a mesma variável. Observe o código:
while(contador++<maximo) {
Contatos c = new Contatos();
...//Setar os campos do objeto
suaLista.add(c);
}
Em cada iteração desse while, vc está adicionando um objeto diferente a lista.
Isso aê rissato.
Só que fiz meu loop diferente do seu.
Valeu!
R
rafaeU
Thiago veiga:
Acho que isso pode te ajudar
Contatoscont=null;do{cont=newContatos();cont.setNome(JOptionPane.showInputDialog(null,"Nome:")); cont.setTel(JOptionPane.showInputDialog(null, "Telefone:")); listaContatos.add(cont); int i = JOptionPane.showOptionDialog(null, "Desejacontinuar?", "Confirmação",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,null,JOptionPane.YES_OPTION);}while(i==JOptionPane.YES_OPTION);
O loop que tenho aqui é exatamente esse igual o seu Thiago veiga.
Obrigado!
R
rafaeU
Sou iniciante ainda xwillianss.
Minha idéia é criar de uma maneira mais básica primeiro, depois de tudo OK eu pretendo fazer o mesmo programa com uma interface mais bacana.