WallHero

TP03E02MainClass

Oct 16th, 2020
76
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. public class PuntoDos {
  3.  
  4.     int vowels[] = new int[5];
  5.     public static void main(String[] args) {
  6.         new PuntoDos().run();
  7.  
  8.     }
  9.    
  10.     void run()
  11.     {
  12.         int n = Helper.forceReadPositiveInteger("¿Cuántas letras cargará?");
  13.         CircularQueue<Character> mainQueue = new CircularQueue<Character>(n);  
  14.         chargeMainQueue(n, mainQueue);
  15.         CircularQueue<Character> secondQueue = proccess(mainQueue);
  16.         displayQueueAndVowells(secondQueue);
  17.     }
  18.    
  19.     void chargeMainQueue(int n, CircularQueue<Character> mainQueue)
  20.     {
  21.         boolean random = Helper.isRandom();
  22.        
  23.         while(!mainQueue.isFull())
  24.         {
  25.             char newChar = (random) ? Helper.generateRandomLetter() : Helper.forceReadAnLetter("Ingrese una letra");
  26.             if(random) System.out.println("Letra generada (" + newChar +")" ) ;
  27.             mainQueue.enqueue(newChar);
  28.         }
  29.     }
  30.    
  31.     void displayQueueAndVowells(CircularQueue<Character> queue)
  32.     {
  33.         System.out.println("Vocales:" + (vowels[0]+vowels[1]+vowels[2]+vowels[3]+vowels[4]));
  34.         System.out.println("A:" + vowels[0] + "\nE:" + vowels[1] + "\nI:"+ vowels[2] + "\nO:" + vowels[3] + "\nU:" + vowels[4]);
  35.         System.out.println("Cola resultante:");
  36.         while(!queue.isEmpty())
  37.         {
  38.             char popped = queue.dequeue();
  39.             System.out.print(popped + ((queue.isEmpty() ? "\n" : ",")));
  40.         }
  41.        
  42.     }
  43.    
  44.     CircularQueue<Character> proccess(CircularQueue<Character> mainQueue)
  45.     {
  46.         CircularQueue<Character> ret = new CircularQueue<Character>(mainQueue.getSize());
  47.         vowels[0] = vowels[1] = vowels[2] = vowels[3] = vowels[4] = 0;
  48.         while(!mainQueue.isEmpty())
  49.         {
  50.             char popped = mainQueue.dequeue();
  51.             if(Helper.isVowel(popped))
  52.             {
  53.                 popped = Character.toUpperCase(popped);
  54.                 if(popped == 'A') vowels[0]++;
  55.                 else if(popped == 'E') vowels[1]++;
  56.                 else if(popped == 'I') vowels[2]++;
  57.                 else if(popped == 'O') vowels[3]++;
  58.                 else if(popped == 'U') vowels[4]++;
  59.             }
  60.             ret.enqueue(popped);
  61.         }
  62.         return ret;
  63.     }
  64. }
  65.  
RAW Paste Data