| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2010 11:45:17
|
arthuraml
Thread.start()
Membro desde: 01/09/2010 17:16:27
Mensagens: 38
Offline
|
Seguinte galera!
Quero fazer um programa que pergunte 3 informações: nome, idade e cidade. Quero que o programa pegue essas informações e armazene-as de maneira que seja possivel acessar essas informações mais tarde, como se o programa fosse criando um banco de dados. Depois quero q o programa pergunte se eu quero dar informações sobre mais alguma pessoa. Caso a resposta seja sim quero que ele repita a operação até que minha resposta seja não (não quero mais dar informações sobre ninguem). Eu gostaria que voces soh me dissessem o que eu preciso fazer para conseguir fazer isso, não quero que me deem o codigo pronto. Me digam apenas melhores passos para que eu tente construir o codigo por favor. Eu acho que ainda nao tenho conhecimento para fazer esse programa simples, mas eu nao tenho certeza. Tive algumas ideias, mas nenhuma parece ser otimizada de maneira alguma.
Qual seria a maneira mais otimizada de se fazer esse programa? Eu acho que a melhor maneira seria fazer uma ArrayList de duas dimensões mas eu não sei como criar uma ArrayList em tempo de execução...
This message was edited 2 times. Last update was at 03/09/2010 11:48:30
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2010 11:55:41
|
Djonatah
JavaGuru
![[Avatar]](/images/avatar/9922aa62eb4eafdcea1bf84537bd4f24.jpg)
Membro desde: 11/05/2007 15:38:09
Mensagens: 204
Localização: São Bento do Sul - SC
Offline
|
Crie uma classe que vai conter os dados de uma pessoa, e depois crie uma array list que guarde os dados dessa pessoa.
dai para cada iteração do laço, adicione um objeto na array list através do método .add(Pessoa pessoa).
Falou
|
--------------------------------------------------
" Daria tudo o que sei, pela metade do que ignoro " - Descartes
" Tudo tem seu tempo, cada coisa tem sua ocasiao " - Eclesiastes 3 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2010 12:26:34
|
kanxabd
Thread.start()
![[Avatar]](/images/avatar/84a4b37779ee88caf98a810ddc375033.jpg)
Membro desde: 23/04/2008 10:03:38
Mensagens: 37
Localização: MG
Offline
|
arthuraml como o Djonatah disse o melhor a ser feito é criar uma classe que ira "armazenar" as informações que
você deseja. Como a classe "Pessoa" que o Djonatah representou.
Em outra classe você cria um List para armazenar as pessoas e nesta classe você cria também a lógica como você
descreveu e cada pessoa você vai adionando na List.
Com o List você pode adicionar, remover, alterar e pesquisar qualquer objeto que estiver nele.
Abraço
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2010 12:34:23
|
arthuraml
Thread.start()
Membro desde: 01/09/2010 17:16:27
Mensagens: 38
Offline
|
isso eu tbm pensei, mas como vou criar esses os objetos da classe Pessoa dinamicamente a medida que o programa for sendo executado?
quero que a medida que eu for dando informações de mais pessoa ele vá criando objetos novos da classe Pessoa, vá armazenando as informações e adicionando os objetos na ArrayList.
como vou fazer isso?
This message was edited 1 time. Last update was at 03/09/2010 12:35:51
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2010 13:53:51
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Ué, cria os objetos com new:
This message was edited 1 time. Last update was at 03/09/2010 13:54:20
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2010 14:39:25
|
arthuraml
Thread.start()
Membro desde: 01/09/2010 17:16:27
Mensagens: 38
Offline
|
ViniGodoy wrote:Ué, cria os objetos com new:
sim, mas ai vc ta criando os objetos em tempo de compilação, n é isso q eu quero
o programa tem q pergunta o nome, idade e a cidade, criar um objeto, armazenar as informações corretamente na arraylist e depois imprimir
exemplo: (executei o programa)
(PROGRAMA) Qual o nome da pessoa?
(USUARIO) Arthur
(PROGRAMA) Qual a idade da pessoa?
(USUARIO) 20
(PROGRAMA) Qual a cidade da pessoa?
(USUARIO) Brasília
(PROGRAMA) Informações armazenadas com sucesso!
(PROGRAMA) Deseja adicionar informações de mais alguem?
(USUARIO) Não
(PROGRAMA) Deseja saber informações sobre alguem?
(USUARIO) Sim
(PROGRAMA) Digite o nome da pessoa a qual voce deseja informações?
(USUARIO) Arthur
(PROGRAMA) As informações são:
(PROGRAMA) Nome: Arthur
(PROGRAMA) Idade: 20
(PROGRAMA) Cidade: Brasília
This message was edited 2 times. Last update was at 03/09/2010 14:48:27
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2010 14:46:21
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Qual é a diferença?
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2010 14:47:46
|
evertonsilvagomesjava
GUJ Master
![[Avatar]](/images/avatar/6370988b46be58caec00d925d91d2f99.png)
Membro desde: 23/08/2009 13:14:01
Mensagens: 1924
Offline
|
Se seu programa perguntar nome, cidade, estado, sexo, cpf, rg, certidao, atestado de obito e etc..Vc nao vai ter que criar seus objetos não?!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2010 14:52:16
|
arthuraml
Thread.start()
Membro desde: 01/09/2010 17:16:27
Mensagens: 38
Offline
|
ViniGodoy wrote:Qual é a diferença?
mas nesse caso ele n vai estar escrevendo os objetos um em cima do outro a medida q eu for adicionando informações de mais pessoas?
quer dizer...
digamos q adicionei as informações Arthur, 20, Brasilia. e agora vou adicionar de outra pessoa. se eu quiser imprimir as informações de Arthur depois nao vou conseguir se eu fizer dessa sua forma
correto?
This message was edited 1 time. Last update was at 03/09/2010 14:53:47
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2010 15:17:33
|
nel
JWizard
![[Avatar]](/images/avatar/1a9537e58dcb1a9913e1fc10c65c7994.jpg)
Membro desde: 01/10/2009 13:51:10
Mensagens: 2364
Offline
|
Amigo, o seu conceito de OO, em especial no Java, está bem fraco. Recomendo uma boa leitura em tutoriais/apostilas para aprender como funciona. As apostilas da Caelum tem um ótimo conteúdo didático, recomendo a leitura desta aqui em particular. Sobre a sua pergunta, lógico que não. Além de você estar adicionando a lista, você usa o new, ou seja, para cada informação digitada você tem um novo objeto e não sobrescreve o "antigo". Abraços.
This message was edited 1 time. Last update was at 03/09/2010 15:18:51
|
"Se houver a terceira guerra mundial eu não sei como será mas a quarta será com paus e pedras" Albert Einsten. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2010 15:19:47
|
arthuraml
Thread.start()
Membro desde: 01/09/2010 17:16:27
Mensagens: 38
Offline
|
brigadao!
vejo que minhas perguntas são bem bobas... desculpa galera, realmente ainda estou no começo
to lendo o Use a Cabeça! Java e o Java - Como programar (6ª Edição)
agora to vendo que eh vem obvio q os objetos não vao se sobrepor, foi mta burrice eu ter falado isso, enfim...
como eu vou fazer para acessar essas informações ja armazanadas anteriormente nos objetos?
This message was edited 1 time. Last update was at 03/09/2010 15:24:51
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2010 15:24:32
|
kanxabd
Thread.start()
![[Avatar]](/images/avatar/84a4b37779ee88caf98a810ddc375033.jpg)
Membro desde: 23/04/2008 10:03:38
Mensagens: 37
Localização: MG
Offline
|
arthuraml o código que o ViniGodoy faz o que vc falou, porém ele adiona 10 pessoas e depois
imprime as informações sobre elas.
No seu caso é só vc alterar a condição do for para quendo o usuário informar que não deseja
mais inserir pessoas.
E não se preocupe, quando a estar gravando por cima, afinal vc está trabalhando com uma
lista e nela vc vai adicionando objetos, um em cada posição. Depois basta percorrer a lista
para imprimir
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2010 15:27:02
|
arthuraml
Thread.start()
Membro desde: 01/09/2010 17:16:27
Mensagens: 38
Offline
|
kanxabd wrote:arthuraml o código que o ViniGodoy faz o que vc falou, porém ele adiona 10 pessoas e depois
imprime as informações sobre elas.
No seu caso é só vc alterar a condição do for para quendo o usuário informar que não deseja
mais inserir pessoas.
E não se preocupe, quando a estar gravando por cima, afinal vc está trabalhando com uma
lista e nela vc vai adicionando objetos, um em cada posição. Depois basta percorrer a lista
para imprimir
ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
tipo
System.out.println("Nome: " + p[2].getNome());
aqui ele vai imprimir o nome do terceiro objeto armazenado na minha lista
correto? ou a sintaxe esta errada?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2010 15:32:48
|
kanxabd
Thread.start()
![[Avatar]](/images/avatar/84a4b37779ee88caf98a810ddc375033.jpg)
Membro desde: 23/04/2008 10:03:38
Mensagens: 37
Localização: MG
Offline
|
para imprimir a lista?
isso que vc quis dizer neh?!?!
tipo
isso é o famoso for each do Java ele percorre a lista -> pessoas
e para cada Pessoa p desta lista ele vai imprimindo
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2010 15:34:35
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Correto, mas isso se a lista fosse com vetores.
Pessoa[]
Como a lista é do tipo ArrayList a sintaxe é:
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
|
|