Ir ao conteúdo
  • Cadastre-se

Análise OP ESTRUTURA DE DADOS(agenda)


Posts recomendados

Pessoal, estou com dificuldades em um trabalho de java da faculdade meu professor me pediu um trabalho, para analisar 5 operações de um programa com inserção, remoção, alteração, busca e listagem. Preciso de uma análise do código a seguir, análise das operações de como funciona. Quem poder me ajudar ficarei super grata!!!

O código em java abaixo :help: :

 

 

public class data{
private String nome;
private int fone;
private data prox;
public data (String a, int b, data c){
      nome=a;
      fone=b;
      prox=c;
 
}
public String getNome(){
      return nome;
}
public void setFone(int a){
      fone=a; 
}
public int getFone(){
      return fone;
}
public data getProx(){
      return prox;
}
public void setProx(data a){
      prox=a;
}
}
 
 
 
 
 
public class agenda{
private data inicio;
//private data aux;
void inserir(data a){
      if(inicio==null){ //teste de início de lista
              this.inicio=a;
      }else{ //se não for o inicio
                  data aux=inicio;
                  data ant=null;
                  while (aux!=null) { //encontrar o fim da lista
                         ant=aux;
                         aux=aux.getProx();
             }
             a.setProx(null);
             ant.setProx(a);
 
           } // else inicio lista
    }// fim do método
 
    boolean excluir() {
           if (inicio==null) return false;
           else {
                    inicio=inicio.getProx();
                    return true; // em qualquer caso de exclusão, será retornado verdadeiro
 
           } //fim do else de teste vazio
 
 
    } //fim do método excluir
 
    String listar(){
   String a="Nome \t Telefone";
   data aux=inicio;
   while (aux!=null) {
               a+="\n"+aux.getNome()+"\t"+String.valueOf(aux.getFone());
               aux=aux.getProx();
   }//fim do while
   return a;// retorna o String com o relatório
}//fim do método listar
 
String buscar (String nome){
  String a=" ";
  data aux=this.inicio;
  data ant=null;
  while    ((nome.compareToIgnoreCase(aux.getNome())!=0)&&(aux!=null)){ //roda enquanto nao achar o nome ou chegar no fim da lista
           ant=aux;
           aux=aux.getProx();
           if (aux==null) break;//inibe erro de nullpoint
 
 
  }
  if                        (aux!=null)                       a="Nome:"+aux.getNome()
  +"\nTelefone:"+String.valueOf(aux.getFone());
  return a;            
}//fim do método buscar
 
boolean alterar (String a, int b{
if (inicio==null) return false;
else {
             data aux=inicio;
             data ant;
             while ((a.compareToIgnoreCase(aux.getNome())!=0)&&(aux!=null)){ //roda enquanto não achar o nome ou chegar no fim da lista
                   ant=aux;
                   aux=aux.getProx();
                   if (aux==null) break; //inibe erro de nullpointer exception
             }//fim do while
             if(aux==null) return false;
             else {
                     aux.setFone( b;
                     return true;                     
             }//fim do else (encontrar elemento)
 
}//fim do else
 
}//fim do método alterar
data criaObjeto(String a, int b, data c){
    data d=new data(a,b,c);
    return;
    }//fim do método cria objeto
}//fim da classe
 
 
 
 
 
import java.util.Scanner;
public class programa {
public static void main(String args[]){
           byte op;
           String nome,b;
           int cont=0;
           Scanner entrada= new Scanner(System.in);
           agenda exemplo=new agenda();
           do{
        System.out.println("\nAgenda (Fila Encadeada) \nOpções: \n1-Inserir Contato\n2-Excluir Contato\n3-Alterar Número \n4Listar Contatos \n5-Buscar contato \n0-SAIR");
           op=entrada.nextByte();
           entrada.nextLine();
                    if(op!=0){
                                     switch(op){
                                     case 1:
                                                               int c;
                                                               ++cont
                                                               System.out.println("Entre com o "+cont+"+nome:");
 
                                                               b=entrada.nextLine();
                                                               System.out.println("Entre com o número de telefone:");
 
                                                               c=entrada.nextInt();
                                                               exemplo.inserir(exemplo.criaObjeto(b,c,null));
                                     break;
                                     case 2:
                                                            if(exemplo.excluir()){
                                                                  System.out.println("Elemento foi excluído com sucesso!");
 
                                                                  --cont;
                                                            }//fim do IF
 
                                                            else System.out.println("Não existem elementos cadastrados");
 
                                     break;
                                     case 3:
 
                                           System.out.println("Entre com o NOME que deseja alterar o número de telefone:");
 
                                           b=entrada.nextLine();
                                           int w;
                                           System.out.println("Entre com o novo NÚMERO:");
                                           w=entrada.nextInt();
                                           if (exemplo.alterar(b,w)) System.out.println(b+" teve o seu telefone alterado!");
                                     break;
                                     case 4: System.out.println(exemplo.listar());
                                     break;
                                     case 5:
                                                   String k;
                                                   System.out.println("Entre com o nome desejado:");
                                                   b=entrada.nextLine();
                                                   k=exemplo.buscar( b );
                                                   if (k.comprareToIgnoreCase(" ") ==0) System.out.println("Contato não encontrado");
 
                                                   else System.println(k);
                                     break;
                                     default: System.out.println("Opção Inválida!!!");
 
 
                                     }//Fim do SWITCH
 
 
                    }//Fim do IF
 
 
           }while (op!=0);//fim do while
           System.out.println("Obrigado por usar o Programa!!!");
 
}//fim do método menu
 
 
 
}
 
:confused:
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...