Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package EDA1;
- import java.util.*;
- public class Agenda<T extends Comparable<? super T>>{
- public Agenda() {}
- ArvBP agenda = new ArvBP();
- ArrayQueue aAux = new ArrayQueue();
- ArvBP nomes = new ArvBP();
- ArrayQueue numeros = new ArrayQueue();
- Scanner scanner = new Scanner(System.in);
- public void printQueue(){
- System.out.println(aAux.front());
- if(aAux.size()>1){
- aAux.dequeue();
- printQueue();
- }
- else{
- System.out.println("------------------------- \n");
- menu();
- }
- }
- public void printQueueNumeros(){
- System.out.println(numeros.front());
- if(numeros.size()>1){
- numeros.dequeue();
- printQueueNumeros();
- }
- }
- public void menu(){
- System.out.println("Bem vindo a sua Agenda Telefonica\n");
- System.out.println("Escolha uma opção: ");
- System.out.println("-------------------------\n");
- System.out.println("1 - Adicionar Contacto");
- System.out.println("2 - Listar Contactos");
- System.out.println("3 - Editar Contacto");
- System.out.println("4 - Procurar Contacto");
- System.out.println("5 - Exportar para Queue");
- System.out.println("6 - Remover Contacto");
- System.out.println("0 - Sair\n");
- int escolha = scanner.nextInt();
- switch(escolha){
- case 1:
- System.out.println("Insira o nome do contacto que deseja adicionar:");
- String nome = scanner.next();
- if(!nome.matches("[a-zA-Z]+")){
- System.out.println("Entrada inválida, tente novamente. \n");
- menu();
- }
- System.out.println("\nNúmero: ");
- String n_telefone = scanner.next();
- if(n_telefone.matches("[a-zA-Z]+")){
- System.out.println("Entrada inválida, tente novamente. \n");
- menu();
- }
- if (n_telefone.length() < 9 || n_telefone.length() < 9){
- System.out.println("Entrada inválida, tente novamente. \n");
- }
- agenda.insere(nome+" "+n_telefone);
- nomes.insere(nome);
- aAux.enqueue(nome+" "+n_telefone);
- numeros.enqueue(n_telefone);
- System.out.println("Contacto adicionado. \n");
- menu();
- case 2:
- System.out.println("Contactos atuais da lista");
- System.out.println("Nome | Numero");
- agenda.printEmOrdem();
- System.out.println("\nFim \n");
- menu();
- case 3:
- case 4:
- case 5:
- case 6:
- System.out.println("\nQual o contacto que deseja remover? ");
- Comparable nomeRemover = scanner.next();
- if(!((String) nomeRemover).matches("[a-zA-Z]+")){
- System.out.println("Entrada inválida, tente novamente. \n");
- menu();
- }
- while(!agenda.contains(nomeRemover+" "+numeros.front())){
- if(numeros.size()>1){
- System.out.println(nomeRemover+" "+numeros.front());
- System.out.println(numeros.dequeue());
- printQueueNumeros();
- }
- }
- System.out.println(numeros.front());
- agenda.remove(nomeRemover+" "+numeros.front());
- System.out.println("Contacto removido. \n");
- menu();
- case 0:
- System.out.println("Até á próxima \n");
- System.exit(1);
- default:
- }
- }
- public static void main(String [] args){
- Agenda trabalho = new Agenda();
- trabalho.menu();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement