Advertisement
adrianodassis

Agenda Final p/ Entrega

Jun 8th, 2016
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 60.94 KB | None | 0 0
  1. // Adriano Assis 20788078
  2. // Diogo Faria
  3. // Jessica de Marchi 20668136
  4. // Lavinia Miranda
  5. // Victor Furtado 20880059
  6. package agendaaljv;
  7.  
  8. // Importação da classe Scanner
  9. import java.util.Scanner;
  10. public class AgendaALJV {
  11.  
  12. // Declaração de variáveis globais
  13. public static int i = 0, xI = 0, iAM = 0, iD1 = 0, iD2 = 0, iD3 = 0, novoD, novoM, escolha, resp, respMD, numm, numd, mNum;
  14. public static int n = 15;
  15. public static String nomes [] = new String[n];  
  16. public static int dias [] = new int[n];            
  17. public static int meses [] = new int[n];
  18. Scanner entrada = new Scanner (System.in);
  19.  
  20.     // Criação do metódo menu que imprime o Menu da agenda
  21.     public static void menu() {  
  22.        
  23.         System.out.println("=================================================================");
  24.         System.out.println("│\t\t\t  MENU DA AGENDA\t\t\t│");
  25.         System.out.println("│\t1 - Novo Cadastro\t\t\t\t\t│");
  26.         System.out.println("│\t2 - Excluir um amigo\t\t\t\t\t│");
  27.         System.out.println("│\t3 - Alterar dia ou mês\t\t\t\t\t│");
  28.         System.out.println("│\t4 - Consultar dia e mês\t\t\t\t\t│");
  29.         System.out.println("│\t5 - Consultar aniversariantes do mês\t\t\t│");
  30.         System.out.println("│\t6 - Consultar aniversariantes pela inicial do nome\t│");
  31.         System.out.println("│\t7 - Mostrar agenda ordenada por nome\t\t\t│");
  32.         System.out.println("│\t8 - Sair\t\t\t\t\t\t│");
  33.         System.out.println("=================================================================");
  34.         System.out.println("");
  35.         System.out.print("Digite a opção desejada: ");
  36.     }
  37.    
  38.     /* Criação do método de entrada do nome da pessoa utilizando toLowerCase
  39.     em seguida para que o nome se torne inteiro minuscúlo */
  40.     public static void lerValorN(Scanner entrada){
  41.         System.out.print("Digite o nome: ");
  42.         nomes [i] = entrada.nextLine();
  43.         nomes [i] = nomes[i].toLowerCase();
  44.     }
  45.    
  46.     /* Criação dos metódos com entradas int's, onde foi utilizado um try e catch
  47.     junto da classe Integer + o comando parse, onde caso ocorra a entrada de um
  48.     carácter diferente de um número, ele acusa que está errado e retorna para
  49.     digitar novamente */
  50.     public static void lerValorM(Scanner entrada){
  51.         try{
  52.         System.out.print("Digite o mês: ");
  53.         meses [i] = Integer.parseInt(entrada.nextLine());
  54.         }
  55.         catch(Exception e){
  56.             System.out.print("Mês inválido. ");
  57.             lerValorM (entrada);
  58.         }
  59.     }
  60.    
  61.     public static void lerValorD(Scanner entrada){
  62.         try{
  63.         System.out.print("Digite o dia: ");
  64.         dias [i] = Integer.parseInt(entrada.nextLine());
  65.         }
  66.         catch(Exception e){
  67.             System.out.print("Dia inválido. ");
  68.             lerValorD (entrada);
  69.         }      
  70.     }
  71.    
  72.     public static void lerValorExcluir(Scanner entrada){
  73.         try{
  74.         System.out.println("Escolha o número referente a pessoa que deseja "
  75.                 + "excluir da agenda (1 a 15): ");
  76.         escolha = Integer.parseInt(entrada.nextLine());
  77.         }
  78.         catch(Exception e){
  79.             lerValorExcluir (entrada);
  80.         }      
  81.     }
  82.    
  83.     public static void lerValorAlterar(Scanner entrada){
  84.         try{
  85.         System.out.print("Escolha o número referente a pessoa que deseja "
  86.                 + "alterar o dia ou o mês (1 a 15): ");
  87.         resp = Integer.parseInt(entrada.nextLine());
  88.         }
  89.         catch(Exception e){
  90.             System.out.print("Opção inválida. ");
  91.             lerValorAlterar (entrada);
  92.         }
  93.     }
  94.    
  95.     public static void lerValorAlterar1(Scanner entrada){
  96.         try{
  97.         System.out.println("Deseja alterar o dia(1) ou o mês(2)?");
  98.         respMD = Integer.parseInt(entrada.nextLine());
  99.         }
  100.         catch(Exception e){
  101.             System.out.print("Opção inválida. ");
  102.             lerValorAlterar1 (entrada);
  103.         }      
  104.     }
  105.    
  106.     public static void lerValorNovoD1(Scanner entrada){
  107.         try{
  108.         System.out.println("Digite o novo dia: ");
  109.         novoD = Integer.parseInt(entrada.nextLine());
  110.         }
  111.         catch(Exception e){
  112.             System.out.print("Dia inválido, este mês tem 28 dias. ");
  113.             lerValorNovoD1 (entrada);
  114.         }      
  115.     }
  116.    
  117.     public static void lerValorNovoD2(Scanner entrada){
  118.         try{
  119.         System.out.println("Digite o novo dia: ");
  120.         novoD = Integer.parseInt(entrada.nextLine());
  121.         }
  122.         catch(Exception e){
  123.             System.out.print("Dia inválido, este mês tem 30 dias. ");
  124.             lerValorNovoD2 (entrada);
  125.         }      
  126.     }
  127.    
  128.     public static void lerValorNovoD3(Scanner entrada){
  129.         try{
  130.         System.out.println("Digite o novo dia: ");
  131.         novoD = Integer.parseInt(entrada.nextLine());
  132.         }
  133.         catch(Exception e){
  134.             System.out.print("Dia inválido, este mês tem 31 dias. ");
  135.             lerValorNovoD3 (entrada);
  136.         }      
  137.     }
  138.    
  139.     public static void lerValorNovoM(Scanner entrada){
  140.         try{
  141.         System.out.print("Mês inválido, os meses são de 1 a 12. "
  142.                 + "Digite novamente: ");
  143.         novoM = Integer.parseInt(entrada.nextLine());
  144.         }
  145.         catch(Exception e){
  146.             lerValorNovoM (entrada);
  147.         }      
  148.     }
  149.    
  150.     public static void lerValorNovoM1(Scanner entrada){
  151.         try{
  152.         System.out.print("Mês inválido, o novo mês possui apenas 28 dias, "
  153.                 + "diferente do mês atual ou os meses são entre 1 e 12. "
  154.                 + "Digite novamente: ");
  155.         novoM = Integer.parseInt(entrada.nextLine());
  156.         }
  157.         catch(Exception e){
  158.             lerValorNovoM1 (entrada);
  159.         }      
  160.     }
  161.    
  162.     public static void lerValorNovoM2(Scanner entrada){
  163.         try{
  164.         System.out.print("Mês inválido, o novo mês possui apenas 30 dias, "
  165.                 + "diferente do mês atual ou os meses são entre 1 e 12. "
  166.                 + "Digite novamente: ");
  167.         novoM = Integer.parseInt(entrada.nextLine());
  168.         }
  169.         catch(Exception e){
  170.             lerValorNovoM2 (entrada);
  171.         }      
  172.     }
  173.    
  174.     public static void lerValorNovoM3 (Scanner entrada){
  175.         try{
  176.         System.out.println("Digite o novo mês: ");
  177.         novoM = Integer.parseInt(entrada.nextLine());
  178.         }
  179.         catch(Exception e){
  180.             lerValorNovoM3 (entrada);
  181.         }      
  182.     }
  183.    
  184.     public static void lerValorNumm(Scanner entrada){
  185.         try{
  186.         System.out.println("Digite o número correspondente ao mês (1 a 12): ");
  187.         numm = Integer.parseInt(entrada.nextLine());
  188.         }
  189.         catch(Exception e){
  190.             System.out.print("Mês inválido, os meses são entre 1 e 12. ");
  191.             lerValorNumm (entrada);
  192.         }      
  193.     }
  194.    
  195.     public static void lerValorNumd1(Scanner entrada){
  196.         try{
  197.         System.out.println("Digite o dia: ");
  198.         numd = Integer.parseInt(entrada.nextLine());
  199.         }
  200.         catch(Exception e){
  201.             System.out.print("Dia inválido, este mês tem 31 dias. ");
  202.             lerValorNumd1 (entrada);
  203.         }      
  204.     }
  205.    
  206.     public static void lerValorNumd2(Scanner entrada){
  207.         try{
  208.         System.out.println("Digite o dia: ");
  209.         numd = Integer.parseInt(entrada.nextLine());
  210.         }
  211.         catch(Exception e){
  212.             System.out.print("Dia inválido, este mês tem 30 dias. ");
  213.             lerValorNumd2 (entrada);
  214.         }      
  215.     }
  216.    
  217.     public static void lerValorNumd3(Scanner entrada){
  218.         try{
  219.         System.out.println("Digite o dia: ");
  220.         numd = Integer.parseInt(entrada.nextLine());
  221.         }
  222.         catch(Exception e){
  223.             System.out.print("Dia inválido, este mês tem 28 dias. ");
  224.             lerValorNumd3 (entrada);
  225.         }      
  226.     }
  227.    
  228.     public static void lerValorMNum(Scanner entrada){
  229.         try{
  230.         System.out.println("Digite o número correspondente ao mês (1 a 12): ");
  231.         mNum = Integer.parseInt(entrada.nextLine());
  232.         }
  233.         catch(Exception e){
  234.             System.out.print("Mês inválido, os meses são entre 1 e 12. ");
  235.             lerValorMNum (entrada);
  236.         }
  237.     }
  238.  
  239.     /* Criação do método novocadastro para que sejam realizados os cadastros
  240.     das pessoas na agenda */
  241.     public static void novocadastro() {
  242.         Scanner entrada = new Scanner(System.in);
  243.        
  244.         // Enquanto i < n será possível adicionar pessoas na agenda
  245.         while (i < n){
  246.          
  247.             // Metódo de entrada do nome
  248.             lerValorN (entrada);
  249.        
  250.             /* Enquanto o nome começar com um número ou um espaço o usuário deverá
  251.             digitar novamente o nome */
  252.             while (nomes [i].charAt(0) == '0' || nomes [i].charAt(0) == '1'
  253.                     || nomes [i].charAt(0) == '2' || nomes [i].charAt(0) == '3'
  254.                     || nomes [i].charAt(0) == '4' || nomes [i].charAt(0) == '5'
  255.                     || nomes [i].charAt(0) == '6' || nomes [i].charAt(0) == '7'
  256.                     || nomes [i].charAt(0) == '8' || nomes [i].charAt(0) == '9'
  257.                     || nomes [i].charAt(0) == ' '){
  258.                 System.out.print("O nome não se pode começar com número ou"
  259.                         + " espaço. ");
  260.                 lerValorN (entrada);
  261.             }
  262.        
  263.             // Metódo de entrada do mês
  264.             lerValorM (entrada);
  265.        
  266.             // Laço para validar o mês
  267.             do{
  268.                 if (meses[i] < 1 || meses[i] > 12){
  269.                     System.out.print("Mês inválido, os meses vão de 1 a 12. ");
  270.                     lerValorM (entrada);
  271.                 }
  272.                
  273.             } while(meses[i] < 1 || meses[i] > 12);
  274.        
  275.             // Switch para entrada dos dias
  276.             switch(meses[i]){
  277.                 case 1:
  278.                 case 3:
  279.                 case 5:
  280.                 case 7:
  281.                 case 8:
  282.                 case 10:
  283.                 case 12:
  284.                     // Método de entrada do dia
  285.                     lerValorD(entrada);
  286.                
  287.                     // Laço para validar o dia dos meses acima
  288.                     do{
  289.                         if (dias[i] < 1 || dias[i] > 31){
  290.                             System.out.print("Esse mês só tem 31 dias. ");
  291.                             lerValorD(entrada);
  292.                         }
  293.                         else {
  294.                             System.out.println(" ");
  295.                         }
  296.                     } while(dias[i] < 1 || dias[i] > 31);
  297.                     System.out.println("Cadastro concluído!");
  298.                     System.out.println(" ");
  299.                     break;
  300.                
  301.                 case 4:
  302.                 case 6:
  303.                 case 9:
  304.                 case 11:
  305.                     // Método de entrada do dia
  306.                     lerValorD(entrada);
  307.                
  308.                     // Laço para validar o dia dos meses acima
  309.                     do{
  310.                         if (dias[i] < 1 || dias[i] > 30){
  311.                             System.out.print("Esse mês só tem 30 dias. ");
  312.                             lerValorD(entrada);
  313.                         }
  314.                         else {
  315.                             System.out.println(" ");
  316.                         }
  317.                     } while(dias[i] < 1 || dias[i] > 30);
  318.                     System.out.println("Cadastro concluído!");
  319.                     System.out.println(" ");
  320.                     break;
  321.                
  322.                 case 2:
  323.                     // Método de entrada do dia
  324.                     lerValorD(entrada);
  325.                
  326.                     // Laço para validar os dias do mês de fevereiro
  327.                     do{
  328.                         if (dias[i] < 1 || dias[i] > 28){
  329.                             System.out.print("Esse mês só tem 28 dias. ");
  330.                             dias[i] = entrada.nextInt();
  331.                         }
  332.                         else {
  333.                             System.out.println(" ");
  334.                         }
  335.                     } while(dias[i] < 1 || dias[i] > 28);
  336.                     System.out.println("Cadastro concluído!");
  337.                     System.out.println(" ");
  338.                     break;                
  339.                
  340.                 // Após a entrada do nome, dia e mês retorna ao menu
  341.                 default:
  342.                     menu();
  343.             }
  344.        
  345.             // Contador do vetor
  346.             i = i + 1;
  347.        
  348.             break;
  349.         }
  350.        
  351.         /* Caso i seja igual ou maior a 15, que é o limite de contatos da agenda,
  352.         irá exibir o aviso de que está cheia e irá retornar ao menu
  353.         */
  354.         if (i >= n){
  355.             System.out.println("Agenda está cheia, para adicionar um novo "
  356.                     + "amigo, por favor exclua alguém.");
  357.             System.out.println(" ");
  358.            
  359.         }
  360.     }
  361.    
  362.     // Criação do método para excluir um contato
  363.     public static void excluir() {
  364.         Scanner entrada = new Scanner (System.in);
  365.        
  366.         // Declaração de variáveis
  367.         int pos = 1, x = 0;
  368.        
  369.         // Exibição da agenda
  370.         System.out.println("==============================");
  371.         System.out.println("\t    AGENDA");
  372.        
  373.         /* Enquanto existirem contatos na agenda eles serão exibidos com um
  374.         número de 1 a 15 na frente */
  375.         while(nomes [x] != null){
  376.             System.out.println(pos + ". " + nomes[x]);
  377.             x++;
  378.             pos++;
  379.            
  380.             if (x == 15){
  381.                 break;
  382.             }
  383.         }
  384.         System.out.println("==============================");
  385.        
  386.         // Método de entrada de quem irá ser excluído
  387.         lerValorExcluir(entrada);
  388.        
  389.         /* Enquanto a escolha for menor que 1 e maior que 15 ele retornará
  390.         ao método de entrada de exclusão */
  391.         while (escolha < 1 || escolha > 15){
  392.             lerValorExcluir(entrada);
  393.         }
  394.        
  395.         /* Ao mostrar a agenda que começa em 1 e vai até 15, ele diminui em 1
  396.         para que se escolha o vetor certo para excluir */
  397.         escolha = escolha - 1;
  398.        
  399.         /* A partir da escolha ele irá trocar a posição do vetor e sempre, pelo
  400.         menos o último vetor, ficará vazio */
  401.         switch (escolha){
  402.             case 0:
  403.                 nomes[0] = nomes[1];
  404.                 dias[0] = dias[1];
  405.                 meses[0] = meses[1];
  406.                
  407.                 nomes[1] = nomes[2];
  408.                 dias[1] = dias[2];
  409.                 meses[1] = meses[2];
  410.                
  411.                 nomes[2] = nomes[3];
  412.                 dias[2] = dias[3];
  413.                 meses[2] = meses[3];
  414.                
  415.                 nomes[3] = nomes[4];
  416.                 dias[3] = dias[4];
  417.                 meses[3] = meses[4];
  418.                
  419.                 nomes[4] = nomes[5];
  420.                 dias[4] = dias[5];
  421.                 meses[4] = meses[5];
  422.                
  423.                 nomes[5] = nomes[6];
  424.                 dias[5] = dias[6];
  425.                 meses[5] = meses[6];
  426.                
  427.                 nomes[6] = nomes[7];
  428.                 dias[6] = dias[7];
  429.                 meses[6] = meses[7];
  430.                
  431.                 nomes[7] = nomes[8];
  432.                 dias[7] = dias[8];
  433.                 meses[7] = meses[8];
  434.                
  435.                 nomes[8] = nomes[9];
  436.                 dias[8] = dias[9];
  437.                 meses[8] = meses[9];
  438.                
  439.                 nomes[9] = nomes[10];
  440.                 dias[9] = dias[10];
  441.                 meses[9] = meses[10];
  442.                
  443.                 nomes[10] = nomes[11];
  444.                 dias[10] = dias[11];
  445.                 meses[10] = meses[11];
  446.                
  447.                 nomes[11] = nomes[12];
  448.                 dias[11] = dias[12];
  449.                 meses[11] = meses[12];
  450.                
  451.                 nomes[12] = nomes[13];
  452.                 dias[12] = dias[13];
  453.                 meses[12] = meses[13];
  454.                
  455.                 nomes[13] = nomes[14];
  456.                 dias[13] = dias[14];
  457.                 meses[13] = meses[14];
  458.                
  459.                 nomes[14] = null;
  460.                 dias[14] = 0;
  461.                 meses[14] = 0;
  462.                 System.out.println("A pessoa foi excluída.");
  463.                 break;
  464.                
  465.             case 1:
  466.                 nomes[1] = nomes[2];
  467.                 dias[1] = dias[2];
  468.                 meses[1] = meses[2];
  469.                
  470.                 nomes[2] = nomes[3];
  471.                 dias[2] = dias[3];
  472.                 meses[2] = meses[3];
  473.                
  474.                 nomes[3] = nomes[4];
  475.                 dias[3] = dias[4];
  476.                 meses[3] = meses[4];
  477.                
  478.                 nomes[4] = nomes[5];
  479.                 dias[4] = dias[5];
  480.                 meses[4] = meses[5];
  481.                
  482.                 nomes[5] = nomes[6];
  483.                 dias[5] = dias[6];
  484.                 meses[5] = meses[6];
  485.                
  486.                 nomes[6] = nomes[7];
  487.                 dias[6] = dias[7];
  488.                 meses[6] = meses[7];
  489.                
  490.                 nomes[7] = nomes[8];
  491.                 dias[7] = dias[8];
  492.                 meses[7] = meses[8];
  493.                
  494.                 nomes[8] = nomes[9];
  495.                 dias[8] = dias[9];
  496.                 meses[8] = meses[9];
  497.                
  498.                 nomes[9] = nomes[10];
  499.                 dias[9] = dias[10];
  500.                 meses[9] = meses[10];
  501.                
  502.                 nomes[10] = nomes[11];
  503.                 dias[10] = dias[11];
  504.                 meses[10] = meses[11];
  505.                
  506.                 nomes[11] = nomes[12];
  507.                 dias[11] = dias[12];
  508.                 meses[11] = meses[12];
  509.                
  510.                 nomes[12] = nomes[13];
  511.                 dias[12] = dias[13];
  512.                 meses[12] = meses[13];
  513.                
  514.                 nomes[13] = nomes[14];
  515.                 dias[13] = dias[14];
  516.                 meses[13] = meses[14];
  517.                
  518.                 nomes[14] = null;
  519.                 dias[14] = 0;
  520.                 meses[14] = 0;
  521.                 System.out.println("A pessoa foi excluída.");
  522.                 break;
  523.                
  524.             case 2:
  525.                 nomes[2] = nomes[3];
  526.                 dias[2] = dias[3];
  527.                 meses[2] = meses[3];
  528.                
  529.                 nomes[3] = nomes[4];
  530.                 dias[3] = dias[4];
  531.                 meses[3] = meses[4];
  532.                
  533.                 nomes[4] = nomes[5];
  534.                 dias[4] = dias[5];
  535.                 meses[4] = meses[5];
  536.                
  537.                 nomes[5] = nomes[6];
  538.                 dias[5] = dias[6];
  539.                 meses[5] = meses[6];
  540.                
  541.                 nomes[6] = nomes[7];
  542.                 dias[6] = dias[7];
  543.                 meses[6] = meses[7];
  544.                
  545.                 nomes[7] = nomes[8];
  546.                 dias[7] = dias[8];
  547.                 meses[7] = meses[8];
  548.                
  549.                 nomes[8] = nomes[9];
  550.                 dias[8] = dias[9];
  551.                 meses[8] = meses[9];
  552.                
  553.                 nomes[9] = nomes[10];
  554.                 dias[9] = dias[10];
  555.                 meses[9] = meses[10];
  556.                
  557.                 nomes[10] = nomes[11];
  558.                 dias[10] = dias[11];
  559.                 meses[10] = meses[11];
  560.                
  561.                 nomes[11] = nomes[12];
  562.                 dias[11] = dias[12];
  563.                 meses[11] = meses[12];
  564.                
  565.                 nomes[12] = nomes[13];
  566.                 dias[12] = dias[13];
  567.                 meses[12] = meses[13];
  568.                
  569.                 nomes[13] = nomes[14];
  570.                 dias[13] = dias[14];
  571.                 meses[13] = meses[14];
  572.                
  573.                 nomes[14] = null;
  574.                 dias[14] = 0;
  575.                 meses[14] = 0;
  576.                 System.out.println("A pessoa foi excluída.");
  577.                 break;
  578.                
  579.             case 3:
  580.                 nomes[3] = nomes[4];
  581.                 dias[3] = dias[4];
  582.                 meses[3] = meses[4];
  583.                
  584.                 nomes[4] = nomes[5];
  585.                 dias[4] = dias[5];
  586.                 meses[4] = meses[5];
  587.                
  588.                 nomes[5] = nomes[6];
  589.                 dias[5] = dias[6];
  590.                 meses[5] = meses[6];
  591.                
  592.                 nomes[6] = nomes[7];
  593.                 dias[6] = dias[7];
  594.                 meses[6] = meses[7];
  595.                
  596.                 nomes[7] = nomes[8];
  597.                 dias[7] = dias[8];
  598.                 meses[7] = meses[8];
  599.                
  600.                 nomes[8] = nomes[9];
  601.                 dias[8] = dias[9];
  602.                 meses[8] = meses[9];
  603.                
  604.                 nomes[9] = nomes[10];
  605.                 dias[9] = dias[10];
  606.                 meses[9] = meses[10];
  607.                
  608.                 nomes[10] = nomes[11];
  609.                 dias[10] = dias[11];
  610.                 meses[10] = meses[11];
  611.                
  612.                 nomes[11] = nomes[12];
  613.                 dias[11] = dias[12];
  614.                 meses[11] = meses[12];
  615.                
  616.                 nomes[12] = nomes[13];
  617.                 dias[12] = dias[13];
  618.                 meses[12] = meses[13];
  619.                
  620.                 nomes[13] = nomes[14];
  621.                 dias[13] = dias[14];
  622.                 meses[13] = meses[14];
  623.                
  624.                 nomes[14] = null;
  625.                 dias[14] = 0;
  626.                 meses[14] = 0;
  627.                 System.out.println("A pessoa foi excluída.");
  628.                 break;
  629.                
  630.             case 4:
  631.                 nomes[4] = nomes[5];
  632.                 dias[4] = dias[5];
  633.                 meses[4] = meses[5];
  634.                
  635.                 nomes[5] = nomes[6];
  636.                 dias[5] = dias[6];
  637.                 meses[5] = meses[6];
  638.                
  639.                 nomes[6] = nomes[7];
  640.                 dias[6] = dias[7];
  641.                 meses[6] = meses[7];
  642.                
  643.                 nomes[7] = nomes[8];
  644.                 dias[7] = dias[8];
  645.                 meses[7] = meses[8];
  646.                
  647.                 nomes[8] = nomes[9];
  648.                 dias[8] = dias[9];
  649.                 meses[8] = meses[9];
  650.                
  651.                 nomes[9] = nomes[10];
  652.                 dias[9] = dias[10];
  653.                 meses[9] = meses[10];
  654.                
  655.                 nomes[10] = nomes[11];
  656.                 dias[10] = dias[11];
  657.                 meses[10] = meses[11];
  658.                
  659.                 nomes[11] = nomes[12];
  660.                 dias[11] = dias[12];
  661.                 meses[11] = meses[12];
  662.                
  663.                 nomes[12] = nomes[13];
  664.                 dias[12] = dias[13];
  665.                 meses[12] = meses[13];
  666.                
  667.                 nomes[13] = nomes[14];
  668.                 dias[13] = dias[14];
  669.                 meses[13] = meses[14];
  670.                
  671.                 nomes[14] = null;
  672.                 dias[14] = 0;
  673.                 meses[14] = 0;
  674.                 System.out.println("A pessoa foi excluída.");
  675.                 break;
  676.                
  677.             case 5:
  678.                 nomes[5] = nomes[6];
  679.                 dias[5] = dias[6];
  680.                 meses[5] = meses[6];
  681.                
  682.                 nomes[6] = nomes[7];
  683.                 dias[6] = dias[7];
  684.                 meses[6] = meses[7];
  685.                
  686.                 nomes[7] = nomes[8];
  687.                 dias[7] = dias[8];
  688.                 meses[7] = meses[8];
  689.                
  690.                 nomes[8] = nomes[9];
  691.                 dias[8] = dias[9];
  692.                 meses[8] = meses[9];
  693.                
  694.                 nomes[9] = nomes[10];
  695.                 dias[9] = dias[10];
  696.                 meses[9] = meses[10];
  697.                
  698.                 nomes[10] = nomes[11];
  699.                 dias[10] = dias[11];
  700.                 meses[10] = meses[11];
  701.                
  702.                 nomes[11] = nomes[12];
  703.                 dias[11] = dias[12];
  704.                 meses[11] = meses[12];
  705.                
  706.                 nomes[12] = nomes[13];
  707.                 dias[12] = dias[13];
  708.                 meses[12] = meses[13];
  709.                
  710.                 nomes[13] = nomes[14];
  711.                 dias[13] = dias[14];
  712.                 meses[13] = meses[14];
  713.                
  714.                 nomes[14] = null;
  715.                 dias[14] = 0;
  716.                 meses[14] = 0;
  717.                 System.out.println("A pessoa foi excluída.");
  718.                 break;
  719.                
  720.             case 6:
  721.                 nomes[6] = nomes[7];
  722.                 dias[6] = dias[7];
  723.                 meses[6] = meses[7];
  724.                
  725.                 nomes[7] = nomes[8];
  726.                 dias[7] = dias[8];
  727.                 meses[7] = meses[8];
  728.                
  729.                 nomes[8] = nomes[9];
  730.                 dias[8] = dias[9];
  731.                 meses[8] = meses[9];
  732.                
  733.                 nomes[9] = nomes[10];
  734.                 dias[9] = dias[10];
  735.                 meses[9] = meses[10];
  736.                
  737.                 nomes[10] = nomes[11];
  738.                 dias[10] = dias[11];
  739.                 meses[10] = meses[11];
  740.                
  741.                 nomes[11] = nomes[12];
  742.                 dias[11] = dias[12];
  743.                 meses[11] = meses[12];
  744.                
  745.                 nomes[12] = nomes[13];
  746.                 dias[12] = dias[13];
  747.                 meses[12] = meses[13];
  748.                
  749.                 nomes[13] = nomes[14];
  750.                 dias[13] = dias[14];
  751.                 meses[13] = meses[14];
  752.                
  753.                 nomes[14] = null;
  754.                 dias[14] = 0;
  755.                 meses[14] = 0;
  756.                 System.out.println("A pessoa foi excluída.");
  757.                 break;
  758.                
  759.             case 7:
  760.                 nomes[7] = nomes[8];
  761.                 dias[7] = dias[8];
  762.                 meses[7] = meses[8];
  763.                
  764.                 nomes[8] = nomes[9];
  765.                 dias[8] = dias[9];
  766.                 meses[8] = meses[9];
  767.                
  768.                 nomes[9] = nomes[10];
  769.                 dias[9] = dias[10];
  770.                 meses[9] = meses[10];
  771.                
  772.                 nomes[10] = nomes[11];
  773.                 dias[10] = dias[11];
  774.                 meses[10] = meses[11];
  775.                
  776.                 nomes[11] = nomes[12];
  777.                 dias[11] = dias[12];
  778.                 meses[11] = meses[12];
  779.                
  780.                 nomes[12] = nomes[13];
  781.                 dias[12] = dias[13];
  782.                 meses[12] = meses[13];
  783.                
  784.                 nomes[13] = nomes[14];
  785.                 dias[13] = dias[14];
  786.                 meses[13] = meses[14];
  787.                
  788.                 nomes[14] = null;
  789.                 dias[14] = 0;
  790.                 meses[14] = 0;
  791.                 System.out.println("A pessoa foi excluída.");
  792.                 break;
  793.                
  794.             case 8:
  795.                 nomes[8] = nomes[9];
  796.                 dias[8] = dias[9];
  797.                 meses[8] = meses[9];
  798.                
  799.                 nomes[9] = nomes[10];
  800.                 dias[9] = dias[10];
  801.                 meses[9] = meses[10];
  802.                
  803.                 nomes[10] = nomes[11];
  804.                 dias[10] = dias[11];
  805.                 meses[10] = meses[11];
  806.                
  807.                 nomes[11] = nomes[12];
  808.                 dias[11] = dias[12];
  809.                 meses[11] = meses[12];
  810.                
  811.                 nomes[12] = nomes[13];
  812.                 dias[12] = dias[13];
  813.                 meses[12] = meses[13];
  814.                
  815.                 nomes[13] = nomes[14];
  816.                 dias[13] = dias[14];
  817.                 meses[13] = meses[14];
  818.                
  819.                 nomes[14] = null;
  820.                 dias[14] = 0;
  821.                 meses[14] = 0;
  822.                 System.out.println("A pessoa foi excluída.");
  823.                 break;
  824.                
  825.             case 9:
  826.                 nomes[9] = nomes[10];
  827.                 dias[9] = dias[10];
  828.                 meses[9] = meses[10];
  829.                
  830.                 nomes[10] = nomes[11];
  831.                 dias[10] = dias[11];
  832.                 meses[10] = meses[11];
  833.                
  834.                 nomes[11] = nomes[12];
  835.                 dias[11] = dias[12];
  836.                 meses[11] = meses[12];
  837.                
  838.                 nomes[12] = nomes[13];
  839.                 dias[12] = dias[13];
  840.                 meses[12] = meses[13];
  841.                
  842.                 nomes[13] = nomes[14];
  843.                 dias[13] = dias[14];
  844.                 meses[13] = meses[14];
  845.                
  846.                 nomes[14] = null;
  847.                 dias[14] = 0;
  848.                 meses[14] = 0;
  849.                 System.out.println("A pessoa foi excluída.");
  850.                 break;
  851.                
  852.             case 10:
  853.                 nomes[10] = nomes[11];
  854.                 dias[10] = dias[11];
  855.                 meses[10] = meses[11];
  856.                
  857.                 nomes[11] = nomes[12];
  858.                 dias[11] = dias[12];
  859.                 meses[11] = meses[12];
  860.                
  861.                 nomes[12] = nomes[13];
  862.                 dias[12] = dias[13];
  863.                 meses[12] = meses[13];
  864.                
  865.                 nomes[13] = nomes[14];
  866.                 dias[13] = dias[14];
  867.                 meses[13] = meses[14];
  868.                
  869.                 nomes[14] = null;
  870.                 dias[14] = 0;
  871.                 meses[14] = 0;
  872.                 System.out.println("A pessoa foi excluída.");
  873.                 break;
  874.                
  875.             case 11:
  876.                 nomes[11] = nomes[12];
  877.                 dias[11] = dias[12];
  878.                 meses[11] = meses[12];
  879.                
  880.                 nomes[12] = nomes[13];
  881.                 dias[12] = dias[13];
  882.                 meses[12] = meses[13];
  883.                
  884.                 nomes[13] = nomes[14];
  885.                 dias[13] = dias[14];
  886.                 meses[13] = meses[14];
  887.                
  888.                 nomes[14] = null;
  889.                 dias[14] = 0;
  890.                 meses[14] = 0;
  891.                 System.out.println("A pessoa foi excluída.");
  892.                 break;
  893.                
  894.             case 12:
  895.                 nomes[12] = nomes[13];
  896.                 dias[12] = dias[13];
  897.                 meses[12] = meses[13];
  898.                
  899.                 nomes[13] = nomes[14];
  900.                 dias[13] = dias[14];
  901.                 meses[13] = meses[14];
  902.                
  903.                 nomes[14] = null;
  904.                 dias[14] = 0;
  905.                 meses[14] = 0;
  906.                 System.out.println("A pessoa foi excluída.");
  907.                 break;
  908.                
  909.             case 13:
  910.                 nomes[13] = nomes[14];
  911.                 dias[13] = dias[14];
  912.                 meses[13] = meses[14];
  913.                
  914.                 nomes[14] = null;
  915.                 dias[14] = 0;
  916.                 meses[14] = 0;
  917.                 System.out.println("A pessoa foi excluída.");
  918.                 break;
  919.                
  920.             case 14:
  921.                 nomes[14] = null;
  922.                 dias[14] = 0;
  923.                 meses[14] = 0;
  924.                 System.out.println("A pessoa foi excluída.");
  925.                 break;
  926.                
  927.         }
  928.         // Liberação de espaço no vetor diminuindo o contador em 1
  929.         i = i - 1;
  930.  
  931.     }
  932.    
  933.     // Criação do método para alterar dia ou mês
  934.     public static void alterar() {
  935.         Scanner entrada = new Scanner (System.in);
  936.        
  937.         // Declaração de variáveis
  938.         int pos = 1, x = 0;
  939.        
  940.         // Exibição da agenda
  941.         System.out.println("==============================");
  942.         System.out.println("\t    AGENDA");
  943.        
  944.         /* Enquanto existirem contatos na agenda eles serão exibidos com um
  945.         número de 1 a 15 na frente */
  946.         while(nomes [x] != null){
  947.             System.out.println(pos + ". " + nomes[x]);
  948.             x++;
  949.             pos++;
  950.            
  951.             if (x == 15){
  952.                 break;
  953.             }
  954.         }
  955.        
  956.         System.out.println("==============================");
  957.        
  958.         // Método de entrada da escolha do contato a ser alterado
  959.         lerValorAlterar(entrada);
  960.        
  961.         /* Enquanto a escolha for menor que 1 e maior que 15 ele retornará
  962.         ao método de entrada de alteração de contato */
  963.         while (resp < 1 || resp > 15){
  964.             System.out.print("Opção inválida. ");
  965.             lerValorAlterar(entrada);
  966.         }
  967.        
  968.         /* Ao mostrar a agenda que começa em 1 e vai até 15, ele diminui em 1
  969.         para que se escolha o vetor certo para alterar */
  970.         resp = resp - 1;
  971.        
  972.         // Método de entrada de escolha de alteração do dia ou mês
  973.         lerValorAlterar1(entrada);
  974.        
  975.         /* Enquanto a escolha for menor que 1 e maior que 2 ele retornará
  976.         ao método de entrada de alteração do dia ou mês */
  977.         while (respMD < 1 || respMD > 2){
  978.             System.out.print("Opção inválida. ");
  979.             lerValorAlterar1(entrada);
  980.         }
  981.        
  982.         /* Caso a entrada seja 1, que é para alterar o dia, e o mês atual for
  983.         fevereiro ele irá chamar o método de entrada do novo dia */
  984.         if (meses[resp] == 2){
  985.             if (respMD == 1){
  986.                 lerValorNovoD1(entrada);
  987.            
  988.                 /* Enquanto a escolha for menor que 1 e maior que 28 ele
  989.                 retornará ao método de entrada do novo dia */
  990.                 while (novoD < 1 || novoD > 28){
  991.                     lerValorNovoD1(entrada);
  992.                 }
  993.            
  994.                 /* A partir da escolha do contato ele receberá o seu novo dia
  995.                 através da entrada do usuário */
  996.                 switch (resp){
  997.                     case 0:
  998.                         dias[resp] = novoD;
  999.                         break;
  1000.                     case 1:
  1001.                         dias[resp] = novoD;
  1002.                         break;
  1003.                     case 2:
  1004.                         dias[resp] = novoD;
  1005.                         break;    
  1006.                     case 3:
  1007.                         dias[resp] = novoD;
  1008.                         break;
  1009.                     case 4:
  1010.                         dias[resp] = novoD;
  1011.                         break;
  1012.                     case 5:
  1013.                         dias[resp] = novoD;
  1014.                         break;
  1015.                     case 6:
  1016.                         dias[resp] = novoD;
  1017.                         break;
  1018.                     case 7:
  1019.                         dias[resp] = novoD;
  1020.                         break;
  1021.                     case 8:
  1022.                         dias[resp] = novoD;
  1023.                         break;
  1024.                     case 9:
  1025.                         dias[resp] = novoD;
  1026.                         break;
  1027.                     case 10:
  1028.                         dias[resp] = novoD;
  1029.                         break;
  1030.                     case 11:
  1031.                         dias[resp] = novoD;
  1032.                         break;
  1033.                     case 12:
  1034.                         dias[resp] = novoD;
  1035.                         break;
  1036.                     case 13:
  1037.                         dias[resp] = novoD;
  1038.                         break;
  1039.                     case 14:
  1040.                         dias[resp] = novoD;
  1041.                         break;
  1042.                 }
  1043.                 // Impressão do dia alterado
  1044.                 System.out.println("O dia foi alterado para " + novoD + ".");
  1045.             }
  1046.         }
  1047.            
  1048.         /* Caso a entrada seja 1, que é para alterar o dia, e o mês atual houver
  1049.         30 dias ele irá chamar o método de entrada do novo dia */
  1050.         if (meses[resp] == 4 || meses[resp] == 6 || meses[resp] == 9 || meses[resp] == 11){
  1051.             if (respMD == 1){
  1052.             lerValorNovoD2(entrada);
  1053.            
  1054.                 /* Enquanto a escolha for menor que 1 e maior que 30 ele
  1055.                 retornará ao método de entrada do novo dia */
  1056.                 while (novoD < 1 || novoD > 30){
  1057.                     lerValorNovoD2(entrada);
  1058.                 }
  1059.            
  1060.                 /* A partir da escolha do contato ele receberá o seu novo dia
  1061.                 através da entrada do usuário */
  1062.                 switch (resp){
  1063.                     case 0:
  1064.                         dias[resp] = novoD;
  1065.                         break;
  1066.                     case 1:
  1067.                         dias[resp] = novoD;
  1068.                         break;
  1069.                     case 2:
  1070.                         dias[resp] = novoD;
  1071.                         break;    
  1072.                     case 3:
  1073.                         dias[resp] = novoD;
  1074.                         break;
  1075.                     case 4:
  1076.                         dias[resp] = novoD;
  1077.                         break;
  1078.                     case 5:
  1079.                         dias[resp] = novoD;
  1080.                         break;
  1081.                     case 6:
  1082.                         dias[resp] = novoD;
  1083.                         break;
  1084.                     case 7:
  1085.                         dias[resp] = novoD;
  1086.                         break;
  1087.                     case 8:
  1088.                         dias[resp] = novoD;
  1089.                         break;
  1090.                     case 9:
  1091.                         dias[resp] = novoD;
  1092.                         break;
  1093.                     case 10:
  1094.                         dias[resp] = novoD;
  1095.                         break;
  1096.                     case 11:
  1097.                         dias[resp] = novoD;
  1098.                         break;
  1099.                     case 12:
  1100.                         dias[resp] = novoD;
  1101.                         break;
  1102.                     case 13:
  1103.                         dias[resp] = novoD;
  1104.                         break;
  1105.                     case 14:
  1106.                         dias[resp] = novoD;
  1107.                         break;
  1108.            
  1109.                 }
  1110.                 // Impressão do dia alterado
  1111.                 System.out.println("O dia foi alterado para " + novoD + ".");
  1112.             }
  1113.         }
  1114.        
  1115.         /* Caso a entrada seja 1, que é para alterar o dia, e o mês atual houver
  1116.         31 dias ele irá chamar o método de entrada do novo dia */
  1117.         if (meses[resp] == 1 || meses[resp] == 3 || meses[resp] == 5
  1118.                 || meses[resp] == 7 || meses[resp] == 8
  1119.                 || meses[resp] == 10 || meses[resp] == 12){
  1120.            
  1121.             if (respMD == 1){
  1122.             lerValorNovoD3 (entrada);
  1123.            
  1124.                 /* Enquanto a escolha for menor que 1 e maior que 31 ele
  1125.                 retornará ao método de entrada do novo dia */
  1126.                 while (novoD < 1 || novoD > 31){
  1127.                     lerValorNovoD3 (entrada);
  1128.                 }  
  1129.            
  1130.                 /* A partir da escolha do contato ele receberá o seu novo dia
  1131.                 através da entrada do usuário */
  1132.                 switch (resp){
  1133.                     case 0:
  1134.                         dias[resp] = novoD;
  1135.                         break;
  1136.                     case 1:
  1137.                         dias[resp] = novoD;
  1138.                         break;
  1139.                     case 2:
  1140.                         dias[resp] = novoD;
  1141.                         break;    
  1142.                     case 3:
  1143.                         dias[resp] = novoD;
  1144.                         break;
  1145.                     case 4:
  1146.                         dias[resp] = novoD;
  1147.                         break;
  1148.                     case 5:
  1149.                         dias[resp] = novoD;
  1150.                         break;
  1151.                     case 6:
  1152.                         dias[resp] = novoD;
  1153.                         break;
  1154.                     case 7:
  1155.                         dias[resp] = novoD;
  1156.                         break;
  1157.                     case 8:
  1158.                         dias[resp] = novoD;
  1159.                         break;
  1160.                     case 9:
  1161.                         dias[resp] = novoD;
  1162.                         break;
  1163.                     case 10:
  1164.                         dias[resp] = novoD;
  1165.                         break;
  1166.                     case 11:
  1167.                         dias[resp] = novoD;
  1168.                         break;
  1169.                     case 12:
  1170.                         dias[resp] = novoD;
  1171.                         break;
  1172.                     case 13:
  1173.                         dias[resp] = novoD;
  1174.                         break;
  1175.                     case 14:
  1176.                         dias[resp] = novoD;
  1177.                         break;
  1178.            
  1179.                 }
  1180.                 // Impressão do dia alterado
  1181.                 System.out.println("O dia foi alterado para " + novoD + ".");
  1182.             }
  1183.         }
  1184.      
  1185.         // Caso a entrada for 2, será chamado o método de entrada do novo mês
  1186.         if (respMD == 2){
  1187.             lerValorNovoM3 (entrada);
  1188.            
  1189.             /* Se o dia atual for 29 ou 30 e o novo mês digitado for 2 ou menor
  1190.             que 1 e maior que 12 será solicitado que o usuário digite novamente
  1191.             o novo mês, pois o mês 2 não pode receber dia 29 ou 30 */
  1192.             if(dias[resp] == 29 || dias[resp] == 30){
  1193.                 while (novoM == 2 || novoM < 1 || novoM > 12){
  1194.                     lerValorNovoM1 (entrada);
  1195.                 }
  1196.                
  1197.                 /* A partir da escolha do contato ele receberá o seu novo mês
  1198.                 através da entrada do usuário */
  1199.                 switch (resp){
  1200.                     case 0:
  1201.                         meses[resp] = novoM;
  1202.                         break;
  1203.                     case 1:
  1204.                         meses[resp] = novoM;
  1205.                         break;
  1206.                     case 2:
  1207.                         meses[resp] = novoM;
  1208.                         break;    
  1209.                     case 3:
  1210.                         meses[resp] = novoM;
  1211.                         break;
  1212.                     case 4:
  1213.                         meses[resp] = novoM;
  1214.                         break;
  1215.                     case 5:
  1216.                         meses[resp] = novoM;
  1217.                         break;
  1218.                     case 6:
  1219.                         meses[resp] = novoM;
  1220.                         break;
  1221.                     case 7:
  1222.                         meses[resp] = novoM;
  1223.                         break;
  1224.                     case 8:
  1225.                         meses[resp] = novoM;
  1226.                         break;
  1227.                     case 9:
  1228.                         meses[resp] = novoM;
  1229.                         break;
  1230.                     case 10:
  1231.                         meses[resp] = novoM;
  1232.                         break;
  1233.                     case 11:
  1234.                         meses[resp] = novoM;
  1235.                         break;
  1236.                     case 12:
  1237.                         meses[resp] = novoM;
  1238.                         break;
  1239.                     case 13:
  1240.                         meses[resp] = novoM;
  1241.                         break;
  1242.                     case 14:
  1243.                         meses[resp] = novoM;
  1244.                         break;
  1245.                 }
  1246.                 // Impressão do mês alterado
  1247.                 System.out.println("O mês foi alterado para " + novoM + ".");
  1248.             }
  1249.            
  1250.             /* Se o dia atual for 31 e o novo mês digitado for 2, 4, 6, 9, 11 ou
  1251.             menor que 1 e maior que 12 será solicitado que o usuário digite
  1252.             novamente o novo mês, pois o estes meses não podem receber o dia 31 */
  1253.             if(dias[resp] == 31){
  1254.                 while (novoM == 2 || novoM == 4 || novoM == 6 || novoM == 9
  1255.                         || novoM == 11 || novoM < 1 || novoM > 12){
  1256.                     lerValorNovoM2 (entrada);
  1257.                 }
  1258.                
  1259.                 /* A partir da escolha do contato ele receberá o seu novo mês
  1260.                 através da entrada do usuário */
  1261.                 switch (resp){
  1262.                     case 0:
  1263.                         meses[resp] = novoM;
  1264.                         break;
  1265.                     case 1:
  1266.                         meses[resp] = novoM;
  1267.                         break;
  1268.                     case 2:
  1269.                         meses[resp] = novoM;
  1270.                         break;    
  1271.                     case 3:
  1272.                         meses[resp] = novoM;
  1273.                         break;
  1274.                     case 4:
  1275.                         meses[resp] = novoM;
  1276.                         break;
  1277.                     case 5:
  1278.                         meses[resp] = novoM;
  1279.                         break;
  1280.                     case 6:
  1281.                         meses[resp] = novoM;
  1282.                         break;
  1283.                     case 7:
  1284.                         meses[resp] = novoM;
  1285.                         break;
  1286.                     case 8:
  1287.                         meses[resp] = novoM;
  1288.                         break;
  1289.                     case 9:
  1290.                         meses[resp] = novoM;
  1291.                         break;
  1292.                     case 10:
  1293.                         meses[resp] = novoM;
  1294.                         break;
  1295.                     case 11:
  1296.                         meses[resp] = novoM;
  1297.                         break;
  1298.                     case 12:
  1299.                         meses[resp] = novoM;
  1300.                         break;
  1301.                     case 13:
  1302.                         meses[resp] = novoM;
  1303.                         break;
  1304.                     case 14:
  1305.                         meses[resp] = novoM;
  1306.                         break;
  1307.                 }
  1308.                 // Impressão do mês alterado
  1309.                 System.out.println("O mês foi alterado para " + novoM + ".");
  1310.             }
  1311.            
  1312.             /* Se o dia atual estiver entre 1 e 28 e o novo mês digitado for
  1313.             menor que 1 e maior que 12 será solicitado que o usuário digite
  1314.             novamente o novo mês, pois os meses são de 1 a 12 */
  1315.             if(dias[resp] >= 1 || dias[resp] <= 28){
  1316.                 while (novoM < 1 || novoM > 12){
  1317.                     lerValorNovoM (entrada);
  1318.                 }
  1319.                
  1320.                 /* A partir da escolha do contato ele receberá o seu novo mês
  1321.                 através da entrada do usuário */
  1322.                 switch (resp){
  1323.                     case 0:
  1324.                         meses[resp] = novoM;
  1325.                         break;
  1326.                     case 1:
  1327.                         meses[resp] = novoM;
  1328.                         break;
  1329.                     case 2:
  1330.                         meses[resp] = novoM;
  1331.                         break;    
  1332.                     case 3:
  1333.                         meses[resp] = novoM;
  1334.                         break;
  1335.                     case 4:
  1336.                         meses[resp] = novoM;
  1337.                         break;
  1338.                     case 5:
  1339.                         meses[resp] = novoM;
  1340.                         break;
  1341.                     case 6:
  1342.                         meses[resp] = novoM;
  1343.                         break;
  1344.                     case 7:
  1345.                         meses[resp] = novoM;
  1346.                         break;
  1347.                     case 8:
  1348.                         meses[resp] = novoM;
  1349.                         break;
  1350.                     case 9:
  1351.                         meses[resp] = novoM;
  1352.                         break;
  1353.                     case 10:
  1354.                         meses[resp] = novoM;
  1355.                         break;
  1356.                     case 11:
  1357.                         meses[resp] = novoM;
  1358.                         break;
  1359.                     case 12:
  1360.                         meses[resp] = novoM;
  1361.                         break;
  1362.                     case 13:
  1363.                         meses[resp] = novoM;
  1364.                         break;
  1365.                     case 14:
  1366.                         meses[resp] = novoM;
  1367.                         break;
  1368.                 }
  1369.                 //Impressão do mês alterado
  1370.                 System.out.println("O mês foi alterado para " + novoM + ".");
  1371.             }
  1372.         }
  1373.     }
  1374.    
  1375.     // Criação do método de consulta de dia e mês
  1376.     public static void consuldm() {
  1377.         Scanner entrada = new Scanner(System.in);
  1378.         Scanner entradaS = new Scanner(System.in);
  1379.        
  1380.         // Declaração de variável
  1381.         String ok;
  1382.        
  1383.         // Método de entrada do mês a ser consultado
  1384.         lerValorNumm (entrada);
  1385.        
  1386.             /* Enquanto o mês for menor que 1 e maior que 12, irá ser solicitado
  1387.             que o usuário digite novamente */
  1388.             do{
  1389.                 if (numm < 1 || numm > 12){
  1390.                 lerValorNumm (entrada);
  1391.                 }
  1392.             } while(numm < 1 || numm > 12);
  1393.        
  1394.             /* Caso o mês escolhido possua 31 dias será solicitado a entrada
  1395.             do dia */
  1396.             switch(numm){
  1397.                 case 1:
  1398.                 case 3:
  1399.                 case 5:
  1400.                 case 7:
  1401.                 case 8:
  1402.                 case 10:
  1403.                 case 12:
  1404.                     lerValorNumd1(entrada);
  1405.                
  1406.                     /* Se o dia for menor que 1 e maior que 31 ele irá solicitar
  1407.                     que o usuário digite o dia novamente */
  1408.                     do{
  1409.                         if (numd < 1 || numd > 31){
  1410.                             lerValorNumd1(entrada);
  1411.                         }
  1412.                         else {
  1413.                         System.out.println(" ");
  1414.                         }
  1415.                     } while(numd < 1 || numd > 31);
  1416.                    
  1417.                     // Impressão dos aniversariantes
  1418.                     System.out.println("Os aniversariantes dessa data são: ");
  1419.        
  1420.                     /* A partir do mês e dia digitados ele irá verificar a qual
  1421.                     vetor o dia pertence e irá imprimir os nomes dos contatos */
  1422.                     for(iD1 = 0; iD1 < 15; iD1++){
  1423.                         if(numd == dias[iD1]){
  1424.                             System.out.println(""+nomes[iD1]);
  1425.                         }
  1426.                     }
  1427.                
  1428.                     System.out.println(" ");
  1429.                     break;
  1430.                
  1431.                 /* Caso o mês escolhido possua 30 dias será solicitado a entrada
  1432.                 do dia */
  1433.                 case 4:
  1434.                 case 6:
  1435.                 case 9:
  1436.                 case 11:
  1437.                     lerValorNumd2(entrada);
  1438.                
  1439.                     /* Se o dia for menor que 1 e maior que 30 ele irá solicitar
  1440.                     que o usuário digite o dia novamente */
  1441.                     do{
  1442.                         if (numd < 1 || numd > 30){
  1443.                             lerValorNumd2(entrada);
  1444.                         }
  1445.                         else {
  1446.                         System.out.println(" ");
  1447.                         }
  1448.                     } while(numd < 1 || numd > 30);
  1449.                    
  1450.                     // Impressão dos aniversariantes
  1451.                     System.out.println("Os aniversariantes dessa data são: ");
  1452.        
  1453.                     /* A partir do mês e dia digitados ele irá verificar a qual
  1454.                     vetor o dia pertence e irá imprimir os nomes dos contatos */
  1455.                     for(iD2 = 0; iD2 < 15; iD2++){
  1456.                         if(numd == dias[iD2]){
  1457.                             System.out.println(""+nomes[iD2]);
  1458.                         }
  1459.                     }
  1460.                    
  1461.                     System.out.println(" ");
  1462.                     break;
  1463.                
  1464.                 /* Caso o mês escolhido possua 28 dias será solicitado a entrada
  1465.                 do dia */
  1466.                 case 2:
  1467.                     lerValorNumd3(entrada);
  1468.                
  1469.                     /* Se o dia for menor que 1 e maior que 28 ele irá solicitar
  1470.                     que o usuário digite o dia novamente */
  1471.                     do{
  1472.                         if (numd < 1 || numd > 28){
  1473.                             lerValorNumd3(entrada);
  1474.                         }
  1475.                         else {
  1476.                             System.out.println(" ");
  1477.                         }
  1478.                     } while(numd < 1 || numd > 28);
  1479.                    
  1480.                     // Impressão dos aniversariantes
  1481.                     System.out.println("Os aniversariantes dessa data são: ");
  1482.        
  1483.                     /* A partir do mês e dia digitados ele irá verificar a qual
  1484.                     vetor o dia pertence e irá imprimir os nomes dos contatos */
  1485.                     for(iD3 = 0; iD3 < 15; iD3++){
  1486.                         if(numd == dias[iD3]){
  1487.                         System.out.println(""+nomes[iD3]);
  1488.                         }
  1489.                     }
  1490.                    
  1491.                     System.out.println(" ");
  1492.                     break;                
  1493.                
  1494.                 default:
  1495.                     menu();
  1496.             }
  1497.             /* Após a exibição dos nomes será solicitado ao usuário que digite
  1498.             'ok' quando desejar retornar ao menu */
  1499.             System.out.println("==============================");
  1500.             System.out.print("Quando desejar voltar ao menu digite 'OK' : ");
  1501.             ok = entradaS.nextLine();
  1502.             ok = ok.toUpperCase();
  1503.        
  1504.             /* Enquanto for diferente de 'ok' será solicitado que digite
  1505.             novamente */
  1506.             while (!"OK".equals(ok)){
  1507.             System.out.print("Por favor digite ok para voltar ao menu: ");
  1508.             ok = entradaS.nextLine();
  1509.             ok = ok.toUpperCase();
  1510.        
  1511.                 if ("OK".equals(ok)){
  1512.                     break;
  1513.                 }
  1514.             }
  1515.     }
  1516.    
  1517.     // Criação do método para consultar aniversariantes do mês
  1518.     public static void anivermes() {
  1519.         Scanner entrada = new Scanner(System.in);
  1520.         Scanner entradaS = new Scanner(System.in);
  1521.        
  1522.         // Declaração de variável
  1523.         String ok;
  1524.        
  1525.         // Método para entrada do mês
  1526.         lerValorMNum (entrada);
  1527.        
  1528.         /* Enquanto o mês for menor que 1 e maior que 12 será solicitado que
  1529.         o usuário digite novamente o mês */
  1530.         do{
  1531.             if (mNum < 1 || mNum > 12){
  1532.                 lerValorMNum (entrada);
  1533.             }
  1534.         } while(mNum < 1 || mNum > 12);
  1535.        
  1536.         // Se o mês estiver entre 1 e 12 serão exibidos os nomes
  1537.         if (mNum >= 1 && mNum <= 12){
  1538.            
  1539.             System.out.println("Os aniversariantes do mês são: ");
  1540.            
  1541.             /* A partir do mês digitado ele irá verificar a qual vetor o
  1542.             mês pertence e irá imprimir os nomes dos contatos */
  1543.             for(iAM = 0; iAM < 15; iAM++){
  1544.                 if(mNum == meses[iAM]){
  1545.                     System.out.println(""+nomes[iAM]);
  1546.                 }
  1547.             }
  1548.            
  1549.             /* Após a exibição dos nomes será solicitado ao usuário que digite
  1550.             'ok' quando desejar retornar ao menu */
  1551.             System.out.println("==============================");
  1552.             System.out.print("Quando desejar voltar ao menu digite 'OK' : ");
  1553.             ok = entradaS.nextLine();
  1554.             ok = ok.toUpperCase();
  1555.        
  1556.             /* Enquanto for diferente de 'ok' será solicitado que digite
  1557.             novamente */
  1558.             while (!"OK".equals(ok)){
  1559.             System.out.print("Por favor digite ok para voltar ao menu: ");
  1560.             ok = entradaS.nextLine();
  1561.             ok = ok.toUpperCase();
  1562.        
  1563.                 if ("OK".equals(ok)){
  1564.                     break;
  1565.                 }
  1566.             }
  1567.         }
  1568.         else{
  1569.             anivermes();
  1570.         }
  1571.     }
  1572.    
  1573.     /* Criação do método para consulta de aniversariantes pela letra inicial do
  1574.     nome */
  1575.     public static void aniversariantes() {
  1576.         Scanner entrada = new Scanner (System.in);
  1577.         Scanner entradaS = new Scanner (System.in);
  1578.        
  1579.         // Declaração de variáveis
  1580.         String ok;
  1581.         char cA;
  1582.         int a;
  1583.        
  1584.         /* Entrada de inicial do nome + toLowerCase para que ela se torne
  1585.         minúscula */
  1586.         System.out.print("Digite a letra inicial do nome para ver os "
  1587.                 + "aniversariantes com essa inicial: ");
  1588.         cA = entrada.next().charAt(0);
  1589.         cA = Character.toLowerCase(cA);
  1590.        
  1591.         /* Laço para verificar em qual vetor está localizado o nome
  1592.         com a inicial digitada */
  1593.         for (a = 0; a < i; a++){
  1594.             if (nomes[a] != null){
  1595.                 if (cA == nomes[a].charAt(0)){
  1596.                     System.out.println(nomes[a]);
  1597.                 }
  1598.             }
  1599.             if (a == 15){
  1600.                 break;
  1601.             }
  1602.         }              
  1603.            
  1604.         /* Após a exibição dos nomes será solicitado ao usuário que digite
  1605.         'ok' quando desejar retornar ao menu */
  1606.         System.out.println("==============================");
  1607.         System.out.print("Quando desejar voltar ao menu digite 'OK' : ");
  1608.         ok = entradaS.nextLine();
  1609.         ok = ok.toUpperCase();
  1610.        
  1611.         /* Enquanto for diferente de 'ok' será solicitado que digite
  1612.         novamente */
  1613.         while (!"OK".equals(ok)){
  1614.         System.out.print("Por favor digite ok para voltar ao menu: ");
  1615.         ok = entradaS.nextLine();
  1616.         ok = ok.toUpperCase();
  1617.  
  1618.             if ("OK".equals(ok)){
  1619.                 break;
  1620.             }
  1621.         }
  1622.     }
  1623.    
  1624.     // Criação do método para consultar agenda em ordem alfabética
  1625.     public static void consulagenda() {
  1626.         Scanner entrada = new Scanner(System.in);
  1627.        
  1628.         // Declaração de variáveis
  1629.         String ok, temp;
  1630.  
  1631.         System.out.println("==============================");
  1632.         System.out.println("\t    AGENDA");
  1633.        
  1634.         // Utilização do BubbleSort para ordernar os nomes em ordem alfabética
  1635.         for (int j = 0; j < i; j++){
  1636.             for (int y = j + 1; y < i; y++){
  1637.                 if (nomes[y].compareTo(nomes[j]) < 0){
  1638.                     temp = nomes[j];
  1639.                     nomes[j] = nomes[y];
  1640.                     nomes[y] = temp;
  1641.                 }
  1642.             }
  1643.             System.out.println(nomes[j]);
  1644.         }
  1645.        
  1646.         /* Após a exibição dos nomes será solicitado ao usuário que digite
  1647.         'ok' quando desejar retornar ao menu */
  1648.         System.out.println("==============================");
  1649.         System.out.print("Quando desejar voltar ao menu digite 'ok': ");
  1650.         ok = entrada.nextLine();
  1651.         ok = ok.toUpperCase();
  1652.        
  1653.         /* Enquanto for diferente de 'ok' será solicitado que digite
  1654.         novamente */
  1655.         while (!"OK".equals(ok)){
  1656.         System.out.print("Por favor digite 'ok' para voltar ao menu: ");
  1657.         ok = entrada.nextLine();
  1658.         ok = ok.toUpperCase();
  1659.        
  1660.         if ("OK".equals(ok)){
  1661.             break;
  1662.         }
  1663.         }
  1664.     }
  1665.    
  1666.     // Criação do método main
  1667.     public static void main(String[] args){
  1668.         Scanner entrada = new Scanner(System.in);
  1669.        
  1670.         // Declaração de variável
  1671.         String opcao;      
  1672.        
  1673.         /* Laço para que quando o usuário digitar a opção desejada chame os
  1674.         métodos */
  1675.         do{
  1676.             // Chamar o método menu e entrada da opção
  1677.             menu();
  1678.             opcao = entrada.nextLine();
  1679.  
  1680.             /* Se entrada desejada estiver entre 1 e 8 será chamado o método
  1681.             correspondente */
  1682.             switch (opcao){
  1683.                 case "1":
  1684.                     novocadastro();
  1685.                     break;
  1686.                 case "2":
  1687.                     excluir();
  1688.                     break;
  1689.                 case "3":
  1690.                     alterar();
  1691.                     break;
  1692.                 case "4":
  1693.                     consuldm();
  1694.                     break;    
  1695.                 case "5":
  1696.                     anivermes();
  1697.                     break;    
  1698.                 case "6":
  1699.                     aniversariantes();
  1700.                     break;
  1701.                 case "7":
  1702.                     consulagenda();
  1703.                     break;  
  1704.                 case "8":
  1705.                     System.out.println("Programa encerrado. "
  1706.                              + "Obrigado por utilizar a agenda!");
  1707.                     System.exit(0);
  1708.                     break;
  1709.                    
  1710.             /* Caso a entrada for diferente de 1-8 irá acusar opção inválida e
  1711.             será solicitado que digite novamente */      
  1712.             default:
  1713.                 System.out.println("");
  1714.                 System.out.println("\t    Opção inválida, as opções vão de 1 a "
  1715.                         + "8.");
  1716.                 System.out.println("");
  1717.             }
  1718.            
  1719.         // Enquanto a opção for diferente de 8 ele 'rodará' a agenda
  1720.         } while (opcao != "8");      
  1721.     }
  1722. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement