Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.22 KB | None | 0 0
  1. package EDA1;
  2.  
  3. import java.util.*;
  4.  
  5. public class Agenda<T extends Comparable<? super T>>{
  6.  
  7.     public Agenda() {}
  8.  
  9.     ArvBP agenda = new ArvBP();
  10.     ArrayQueue aAux = new ArrayQueue();
  11.     ArvBP nomes = new ArvBP();
  12.     ArrayQueue numeros = new ArrayQueue();
  13.  
  14.     Scanner scanner = new Scanner(System.in);
  15.  
  16.     public void printQueue(){
  17.         System.out.println(aAux.front());
  18.         if(aAux.size()>1){
  19.             aAux.dequeue();
  20.             printQueue();
  21.         }
  22.         else{
  23.             System.out.println("------------------------- \n");
  24.             menu();
  25.         }  
  26.     }
  27.  
  28.     public void printQueueNumeros(){
  29.         System.out.println(numeros.front());
  30.         if(numeros.size()>1){
  31.             numeros.dequeue();
  32.             printQueueNumeros();
  33.         }
  34.     }
  35.  
  36.  
  37.     public void menu(){
  38.         System.out.println("Bem vindo a sua Agenda Telefonica\n");
  39.         System.out.println("Escolha uma opção: ");
  40.         System.out.println("-------------------------\n");
  41.         System.out.println("1 - Adicionar Contacto");
  42.         System.out.println("2 - Listar Contactos");
  43.         System.out.println("3 - Editar Contacto");
  44.         System.out.println("4 - Procurar Contacto");
  45.         System.out.println("5 - Exportar para Queue");
  46.         System.out.println("6 - Remover Contacto");
  47.         System.out.println("0 - Sair\n");
  48.  
  49.         int escolha = scanner.nextInt();
  50.    
  51.         switch(escolha){
  52.        
  53.             case 1:
  54.  
  55.                 System.out.println("Insira o nome do contacto que deseja adicionar:");
  56.                 String nome = scanner.next();
  57.                 if(!nome.matches("[a-zA-Z]+")){
  58.                     System.out.println("Entrada inválida, tente novamente. \n");
  59.                     menu();
  60.                 }
  61.  
  62.                 System.out.println("\nNúmero: ");
  63.  
  64.                 String n_telefone = scanner.next();
  65.                 if(n_telefone.matches("[a-zA-Z]+")){
  66.                         System.out.println("Entrada inválida, tente novamente. \n");
  67.                         menu();
  68.                 }
  69.                 if (n_telefone.length() < 9 || n_telefone.length() < 9){
  70.                     System.out.println("Entrada inválida, tente novamente. \n");
  71.                 }
  72.            
  73.                 agenda.insere(nome+" "+n_telefone);
  74.                 nomes.insere(nome);
  75.                 aAux.enqueue(nome+" "+n_telefone);
  76.                 numeros.enqueue(n_telefone);
  77.                 System.out.println("Contacto adicionado. \n");
  78.                 menu();
  79.  
  80.  
  81.             case 2:
  82.                 System.out.println("Contactos atuais da lista");
  83.                 System.out.println("Nome | Numero");
  84.                
  85.                 agenda.printEmOrdem();
  86.  
  87.                 System.out.println("\nFim \n");
  88.  
  89.                 menu();
  90.  
  91.             case 3:
  92.  
  93.             case 4:
  94.                
  95.             case 5:
  96.                
  97.             case 6:
  98.                
  99.                 System.out.println("\nQual o contacto que deseja remover? ");
  100.                 Comparable nomeRemover = scanner.next();
  101.                 if(!((String) nomeRemover).matches("[a-zA-Z]+")){
  102.                     System.out.println("Entrada inválida, tente novamente. \n");
  103.                     menu();
  104.                     }
  105.                
  106.                 while(!agenda.contains(nomeRemover+" "+numeros.front())){
  107.                     if(numeros.size()>1){
  108.                         System.out.println(nomeRemover+" "+numeros.front());
  109.                         System.out.println(numeros.dequeue());
  110.                        
  111.                         printQueueNumeros();
  112.                        
  113.                     }
  114.                 }
  115.                 System.out.println(numeros.front());
  116.                 agenda.remove(nomeRemover+" "+numeros.front());
  117.                 System.out.println("Contacto removido. \n");
  118.  
  119.                 menu();
  120.  
  121.             case 0:
  122.  
  123.                 System.out.println("Até á próxima \n");
  124.                 System.exit(1);
  125.  
  126.             default:
  127.         }
  128.     }
  129.  
  130.  
  131.     public static void main(String [] args){
  132.         Agenda trabalho = new Agenda();
  133.         trabalho.menu();
  134.     }
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement