Cadastro usando estrutura de dados

4 respostas
A

Olá, preciso criar um cadastro de pessoas usando estrutura de dados (nao precisa gravar em arquivo). Para armazenar os dados posso escolher entre Pilha, Conjunto, Lista ou Mapa.
O programa deve permitir inserir, excluir e exibir os dados.
Os campos podem ser: Codigo, nome, e endereço …

Testei vários exemplos, mas só funcionam com um CAMPO, por exemplo NOME.
Se eu usar somente NOME, conseguir criar o programa e funciona corretamente, mas com todos os campos pedidos nao da certo.

Deve ser simples, mas nao estou conseguindo, se alguem puder me ajudar,
Agradeco desde já.

4 Respostas

H

Crie um bean Pessoa (objeto Pessoa) com os atributos que vc quiser.
Utilize esse objeto na estrutura de dados, inserindo, excluindo ele da sua fila/lista/mapa/conjunto.

Se vc tiver algum parâmetro para comparação entre eles, vai ter de sobrescrever o método “equals”. Acho que isso resolve seus problemas.

A

Criei um programa mas não esta funcionando. são dois arquivos Agenda.java e RegistroAgenda.java
consigo inserir, mas ao mostrar ou excluir da erro.
ai vai o código…

package agenda;
import java.util.Scanner;
import java.util.ArrayList;

public class Agenda {

      public static void adicionarRegistro(){
      Scanner sc = new Scanner(System.in);
      RegistroAgenda r1 = new RegistroAgenda();
      ArrayList agenda = new ArrayList();

      System.out.print("Digite nome: ");
      r1.setNome(sc.nextLine());

      System.out.print("Digite o endereço: ");
      r1.setEndereco(sc.nextLine());

      System.out.print("Digite o email: ");
      r1.setEmail(sc.nextLine());

      System.out.print("Digite o telefone: ");
      r1.setTelefone(sc.nextInt());

      agenda.add(r1);
  } //fim adicionarAgenda


       public static void exibirRegistro(){
       for(RegistroAgenda x : agenda){  //não encontra agenda
           System.out.println(x.getNome()+"\n"+x.getEndereco()+"\n"+x.getEmail()+"\n"+x.getTelefone());
       }
   }


       public static void removerRegistro (){
       String excluir;
        Scanner sc = new Scanner(System.in);
        System.out.println("Digite o nome a ser excluído: ");
        excluir = sc.next();

        for(RegistroAgenda x: agenda){    //não acha agenda
            if(excluir == getNome()){    //não acha getNome
                agenda.remove(x);       //não acha agenda
                break;
           }
        System.out.println("Registro removido!");
    }
}

    public static void main(String[] args) {

        int opcao = 1;
        Scanner sc = new Scanner(System.in);
        while (opcao != 0) {

            menuP();
            opcao = sc.nextInt();
            switch(opcao) {
                case 0:
                    System.out.println(" \n\n Saindo do Programa ......... ");
                    break;
                case 1:
                    adicionarRegistro();
                    break;
                case 2:
                    removerRegistro();
                    break;
                case 3:
                    exibirRegistro();
                    break;
                default:
                    System.out.println("\n\n valores válidos 0, 1, 2, 3.");
                    break;
            }
        }
    }// fim do main 

    static void menuP() {
        System.out.println(" \n ***** Menu ***** ");
        System.out.println("1 - Incluir");
        System.out.println("2 - Excluir");
        System.out.println("3 - Mostrar");
        System.out.println("4 - Informe opção: ");
    }
} //fim class agenda
package agenda;
import java.util.ArrayList;

public class RegistroAgenda {
   ArrayList agenda = new ArrayList();
   private String nome, endereco, email;
   private int telefone;

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

   }
   public String getEndereco(){
       return endereco;
   }
   public void setEndereco(String endereco){
       this.endereco = endereco;
   }
   public String getEmail(){
       return email;
   }
   public void setEmail(String email){
       this.email = email;
   }
   public int getTelefone(){
       return telefone;
   }
   public void setTelefone(int telefone){
       this.telefone = telefone;
   }
}

Não consigo corrigir o erro …

A

Bah, valeu pelas dicas, eu imaginei que o negócios estava complicado.

vou ver se consigo acertar o código.

Se vc puder me mandar o código que vc tem, eu posso comparar para ver onde errei, ai fica mais fácil.

Agradeço desde já

Vlw

T

pow amigo, vou te dar uma ideia tem bastante coisa errada no seu codigo, vou te dar algumas dicas

1: Melhore os nomes de suas classes e atributos
ex: sua classe RegistroAgenda, deveria chamar Agenda, e sua classe Agenda, deveria chamar ControlaAgenda, ou AgendaFactory mas isso ja eh mais avançado
2: crie uma classe so com os atibutos de agenda. nome endereço, etc e seus respectivos gets e sets, outra Classe responsavel so por ler e exibir os dados, e outra Classe reponsavel pelo controle Add, remover, mostrar, atualizar. Da uma Olhadinha em MVC

dicas mais a respeito do que vc quer saber

3: sua variavel arraylist deve ser global a classe

tem outras coisas tb, mas axo q isso ja vai abrir um pouco sua cabeça

tenho um codigo mais ou menos com o q vc quer
qualquer coisa me pede ai q te mando

vlwwww

Criado 25 de abril de 2011
Ultima resposta 26 de abr. de 2011
Respostas 4
Participantes 3