importjavax.swing.JOptionPane;/** * * @author Dell */publicclassQ5{privateStringnomeAt,nome,endereco,fone;String[]contato;publicQ5(){nomeAt=JOptionPane.showInputDialog(null,"Qual o nome da atendente:");contato=newString[10];}publicvoidadd(){nome=JOptionPane.showInputDialog("NOME:");endereco=JOptionPane.showInputDialog("ENDEREÇO:");fone=JOptionPane.showInputDialog("FONE:");String[]contato={nome,endereco,fone};}publicvoiddelete(){String[]contato={};Stringnome=JOptionPane.showInputDialog("Quem vc quer deletar?");inti=0;while(i<10){if((this.nome)==(nome)){//contato = {};}}}}
[color=red]Como estão vendo, n to conseguindo saber como add uns contatos em um array, queria que alguem me explicasse como poderia fazer isso?!
Obrigado![/color]
Cara porque você não faz uma classe de contatos, e na hora de adicionar não utilizar um ArrayLista??
Acho que seria mais fácil… claro que não sei se você pode fazer isso.
O
ohara
[color=green]Olá cido18,
eu não posso tenho que fazer com um array, tenho que fazer em uma classe os metodos(add, excluir,setters, getters). E chamar esses métodos em outra classe onde vai ter o metodo main…[/color]
matheuslmota
Contato é um array que comporta até 10 Strings. Você adiciona uma String nesse array atribuindo um valor a uma posição específica.
contato[0] = nome;
contato[1] = endereco;
contato[2] = fone;
Pelo código, vi que você quer armazenar 10 contatos. Como você tem três informações para cada contato (nome, endereço e telefone), você deve criar um array com trinta posições, ao invés de 10.
contato=newString[30];
cido18
matheuslmota, o problema deste metodo não seria na hora de excluir algum contato?
matheuslmota
Pois é, o método de adicionar contatos estava com problemas. Para ele remover um contato, basta ele colocar uma String vazia ou nulo na posição do vetor.
Uma dica que dou é que você crie uma classe Contato com três campos, nome, endereco e fone.
contatos, ao invés de vetor de String, seria um vetor de Contato. Então você poderia usar o vetor da seguinte forma:
Contato[] contatos = new Contato[10];
Lá no método de adicionar, você procederia da seguinte forma:
Contatocontato=newContato();contato.nome=nome;contato.endereco=endereco;contato.fone=fone;contatos[0]=contato;//Adiciona contato na posição 0 do vetor
O
ohara
[color=darkblue][b]Entendi a dica Mateuslmota , jaja digo o que seu eu consegui…
obrigado pela ajuda tanto mateuslmota e o cido18.
valeu! [/color][/b]
sowyer
Uma duvida … cara, pq tu “pinta” de cores diferentes as tuas respostas ?
cido18
ohara, se você não tiver mais dúvidas não esqueça de colocar o tópico como respondido.
Qualquer coisa é só postar.
O
ohara
Eu não entendi como fazer esse
contato.nome
contato.endereco
contato.fone
Fiz outra classe pra contatos como me disseram, olha como deixei por enquanto, e ta dando erro ao add:
importjava.util.Arrays;importjavax.swing.JOptionPane;/** * * @author Dell */publicclassQ5contato{String[]contato;publicQ5contato(){String[]contato=newString[30];}publicvoidadd(){Stringnome=JOptionPane.showInputDialog("Digite o nome: ");Stringender=JOptionPane.showInputDialog("Digite o Endereco: ");Stringfone=JOptionPane.showInputDialog("Digite o Fone: ");contato[0]=nome;contato[1]=ender;contato[2]=fone;JOptionPane.showMessageDialog(null,"Adicionado!");}publicvoiddel(){StringpS=JOptionPane.showInputDialog("Qual posição vc quer deletar");intp=Integer.parseInt(pS);for(inti=0;i<30;i++){if((p==0)||(p==i+3)){contato[p]=null;contato[p+1]=null;contato[p+2]=null;JOptionPane.showMessageDialog(null,"Deletado");}elseJOptionPane.showMessageDialog(null,"Erro, delete o indide de um nome!");}}publicvoidvizualizar(){System.out.println(Arrays.toString(contato));}publicvoidmenu(){StringopcaoS=JOptionPane.showInputDialog("Digite 1 para add! 2 para deletar! 3 para vizualizar! Digite 0 para Sair ");intopcao=Integer.parseInt(opcaoS);switch(opcao){case1:add();break;case2:del();break;case3:vizualizar();break;case0:System.exit(0);default:JOptionPane.showMessageDialog(null,"Opcao invalida!");}}}
cido18
Se vc fez a classe contato então ficaria:
publicvoidadd(){Stringnome=JOptionPane.ShowInputDialog("Digite o nome:"):Stringender=JOptionPane.ShowInputDialog("Digite o end:"):Stringfone=JOptionPane.ShowInputDialog("Digite o fone:"):Contatocontato=newContato(nome,ender,fone);JOptionPane.ShowMessageDialog(null,"Adicionado!");}
cido18
Opa falto:
Contato[]contatos=newContato[10]
Por exemplo, mas não esqueça de definir isto na classe, e não no metodo .
prfs91
Pq não usa registro???
Aí cria um dentro de cada posição da matriz aí ficaria: