ArrayList

9 respostas
bsouza

Olá !! Eu estou estudando Java e estou com dúvida na criação de um exemplo de Lista telefonica.
Eu criei um pacote listaTelefonica com duas classes: Agenda e Contatos, a dúvida é como eu incluo mais de um contato(registro) em minha agenda?

package listatelefonica;

public class Contatos {

int id;

String nome;

String telefone;
public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public String getTelefone() {
    return telefone;
}

public void setTelefone(String telefone) {
    this.telefone = telefone;
}

}

import java.util.ArrayList;
public class Agenda {

public static void main(String[] args) {

    Contatos contatos = new Contatos();
    ArrayList<Contatos> lista = new ArrayList<Contatos>();
    // adiciona itens na lista

   contatos.id = 10;
   contatos.nome = "Bruno";
   contatos.telefone = "22224455";
   lista.add(contatos);
      
   
for(int i = 0; i < lista.size(); i++){
        System.out.println(lista.get(i).id);
        System.out.println(lista.get(i).nome);
        System.out.println(lista.get(i).telefone);
        System.out.println("-----------------------");
    }

}

}

9 Respostas

rmendes08

Ué, é só chamar lista.add de novo!

daveiga

Ué, da mesma forma que você incluiu o primeiro. :stuck_out_tongue:

contatos.id = 10; 
contatos.nome = "Bruno"; 
contatos.telefone = "22224455"; 
lista.add(contatos);

contatos.id = 11; 
contatos.nome = "Pedro"; 
contatos.telefone = "22344455"; 
lista.add(contatos);

contatos.id = 12; 
contatos.nome = "Maria"; 
contatos.telefone = "99224455"; 
lista.add(contatos);
bsouza

Desculpa eu me expressei errado!!! A dúvida é com fazer inclusão através de uma caixa de diálogo tipo: JOptionPane, e incluir mais de um registro ate o usuário não querer mas.
Obrigado!!

rmendes08

É só colocar em um laço, geralmente while e definir uma tecla de parada, como 0 ou X. Você coloca na condição do while se o que foi digitado corresponde à condição de parada.

ViniGodoy

bsouza, para deixar seu código colorido e formatado, e usar outros recursos do fórum, leia esse tópico:

V

Eu estou com a mesma dúvida do usuário bsouza com relação a inclusão de mais de um registro através de uma caixa de diálogo tipo JOptionPane.
Se puderem dar um exemplo.

Denise_sbs

Olá, como muitos sou iniciante em Java.

Alguém pode me dizer qual o erro em meu código? Ele mantém apenas o último dado capturado. Por exemplo , mesmo cadastrando 10 medicamentos, apenas o último é apresentado 10 vezes.

import java.util.ArrayList;
import javax.swing.JOptionPane;

public class Estoque {
public ArrayList<Medicamento> farmacia = new ArrayList<Medicamento>();//arraylist para armazenamento
       Medicamento med = new Medicamento();// criei um novo objeto para manipular a classe medicamento

public void cadastrar() {//método para cadastrar vários medicamentos

       String resp = new String();//criando variável para reter a opção do usuário

do {
        med.setNome (JOptionPane.showInputDialog("Nome do Medicamento: "));// captura nome
	med.setLaboratorio (JOptionPane.showInputDialog("Nome do Laboratorio: "));// captura laboratorio
	med.setPrincipio (JOptionPane.showInputDialog("Nome do Principio Ativo: "));// captura principio
	med.setValidade(JOptionPane.showInputDialog("Data de Validade: "));// captura validade 

        farmacia.add(med);

                resp = JOptionPane.showInputDialog("Continua cadastrando [S/N]? ");// captura a resposta do usuario e armazena
                }

      while (resp.equalsIgnoreCase("S"));// enquanto for igual sim, repete a instrução dentro do laço do
       
         if (resp.equalsIgnoreCase("N")){
             this.menu();
         }
    }

Espero ter feito a formatação corretamente. #medo :shock:

Desde já agradeço.

Andre_Rosa

Denise_sbs ,

Crie um tópico para sua dúvida.

Denise_sbs

Criei o tópico como você sugeriu: http://www.guj.com.br/java/245203-adicionar-em-arraylist

Criado 1 de maio de 2011
Ultima resposta 19 de jun. de 2011
Respostas 9
Participantes 7