Advertisement
FacundoCruz

TP3E3

Oct 12th, 2020 (edited)
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.05 KB | None | 0 0
  1. /* Estructura de Datos - Facultad de Ingeniería - Universidad Nacional de Jujuy
  2. =============================================================================
  3. */
  4.  
  5. /**
  6. * @Autor: Equipo 5.1 Estructura de Datos.
  7. /*      @Integrantes:                |    @Carrera:             |   @DNI:
  8.                                      |                          |
  9. Camacho, Mauro Rodrigo               | Ing. Informática         | 41.654.090
  10. Cabana, Mario Ariel Fernando         | Ing. Informática         | 42.268.639
  11. Cruz, Facundo Emanuel                | Ing. Informática         | 41.609.573
  12. López, Juan Carlos                   | Ing. Informática         | 41.400.550
  13. Machaca, Aldo Martin                 | Ing. Informática         | 31.455.538
  14.  
  15. * @Ingeniera: Perez Ibarra.
  16. * @Fecha: 11/10/2020.
  17. */
  18.  
  19. /*
  20.  Trabajo Práctico N°3 / Listas - Cola (Queue) / Ejercicio 3
  21. ---------------------   ---------------------   ------------
  22. * Objetivo General: Crear una función, método o subprograma que reciba como parametro 2 colas y devuelva una cola.
  23. * Metodología Empleada: Ingresar por consola o aleatoriamente valores para las 2 colas y unirlas en una nueva
  24.                         cola de forma sucesiva y alternadamente.
  25.                         Se toma un elemento de cada cola y se encola en una nueva.  
  26. * El funcionamiento será a traves del entorno de desarrollo integrado Eclipse 2020-06(4.16)-(IDE for Java Developers),
  27.   empleando el leguaje de programación Orientado a Objeto Java.
  28. * Api a utilizar. Paquete:- Java.Util / Clase:- Scanner y - Random.
  29. * Clase principal: UnirColasIntercalando.
  30. * Clases secundarias: Cola, Helper.
  31. */
  32.  
  33. public class UnirColasIntercalando {
  34.      
  35.     //------------------- Inicio metodo Run() -------------------//  
  36.        
  37.         public void run() {
  38.             Cola<Character> cola1;
  39.             Cola<Character> cola2;
  40.             char cargar;
  41.             int respuesta,dimencion=0;
  42.             do {
  43.                 menu();
  44.                 respuesta=Helper.numeroEntero("Ingrese una opción ........ : ");
  45.                 if ((respuesta==1)||(respuesta==2)) {      
  46.                         dimencion= Helper.numeroEnteroPositivo("Ingrese la dimención de ambas colas ......: ");
  47.                         cola1= new Cola(dimencion);
  48.                         cola2= new Cola(dimencion);
  49.                 }else{
  50.                     cola1= new Cola();
  51.                     cola2= new Cola();
  52.                 }
  53.                
  54.                 switch(respuesta) {
  55.                      case 1 :  
  56.                                for (int i=1; i<3; i++) {
  57.                                System.out.print("Cola "+i+" : ");
  58.                                cargar=Helper.respuestaSN("  ¿Desea generar caracteres automaticamente?(S/N)");
  59.                                comoCargar(cargar, i, cola1, cola2,dimencion);
  60.                                }
  61.                                MostrarColas(cola1,cola2);
  62.                          break;
  63.                      case 2 :
  64.                                CargarRandomCola(cola1,dimencion);
  65.                                CargarRandomCola(cola2,dimencion);
  66.                                MostrarColas(cola1,cola2);
  67.                          break;
  68.                      case 3: System.out.println(" -----> Fin del Ejercicio 3 <----- ");//Fin del programa.  
  69.                          break;
  70.                        
  71.                      default: System.err.println("Seleccione una opción valida............");
  72.                             break;
  73.                     } //Fin switch.
  74.                 } while (respuesta!=3);
  75.            
  76.         } //Fin del metodo Run().
  77.        
  78.      //-------------- Menú - UnirColas -------------//
  79.        
  80.         public void menu(){
  81.             System.out.println("-------------- Menú EJERCICIO 3 -------------------");
  82.             System.out.println("1) Cagar cada Cola de manera Individual .....");
  83.             System.out.println("2) Cargar Colas de manera random ............");
  84.             System.out.println("3) Salir del Ejercicio 3 ....................");
  85.         } //Fin menu.
  86.        
  87.     //-------------------Colas - Cargar--------------------//
  88.         public void comoCargar(char rta,int turno, Cola<Character> queue1,Cola<Character> queue2,int dimencion) {  // Tipo de carga.
  89.             if (rta=='N') {
  90.                if (turno==1) {
  91.                         CargarCaracter(queue1,dimencion);    
  92.                }else {
  93.                         CargarCaracter(queue2,dimencion);
  94.                 }
  95.            }else {
  96.                if (turno==1) {
  97.                     CargarRandomCola(queue1,dimencion);
  98.                 }else {
  99.                         CargarRandomCola(queue2,dimencion);
  100.                 }
  101.            }
  102.         } // Fin como cargar.
  103.        
  104.         public void CargarCaracter(Cola <Character> colaCaracteres,int dimencion) {  // Módulo cargar caracter por consola.    
  105.             char valor;
  106.             for (int j=0; j<dimencion; j++) {
  107.                 valor=Helper.validarLetra();                        
  108.                 colaCaracteres.offer(valor);
  109.             }
  110.         }  //Fin cargar por consola.
  111.  
  112.         public void  CargarRandomCola(Cola<Character> randomcola,int dimencion) {  // Módulo cargar caracter aleatoriamente.
  113.              char letrarandom;
  114.              for (int j=0; j<dimencion;j++) {    
  115.                  letrarandom = Helper.letraRandom();
  116.                  randomcola.offer(letrarandom);
  117.                  }  
  118.             } // Fin cargar random.
  119.        
  120.     //-------------Colas - Unir (Ejercicio 3)--------------//
  121.        
  122.         public Cola<Object> unirColasIntercalando(Cola<?> queque1 ,Cola<?> queque2){  // Módulo unión de dos Colas sucesivas y alternadamente.
  123.             Cola<Object>  auxiliar = new Cola<Object> (queque1.size()+queque2.size());
  124.             while(!queque1.isEmpty()&& !queque2.isEmpty() ){
  125.                 auxiliar.offer(queque1.remove());        
  126.                 auxiliar.offer(queque2.remove());
  127.             }
  128.             return auxiliar;  
  129.         } //Fin unión queue.
  130.        
  131.         public void MostrarColas(Cola<Character> cola1,Cola<Character> cola2) {
  132.              Helper.mostrarCola(cola1,"Cola 1 : ");
  133.              Helper.mostrarCola(cola2,"Cola 2 : ");
  134.              Helper.mostrarCola(unirColasIntercalando(cola1,cola2),"La unión Intercalada entre Colas 1 y 2 : ");
  135.         }
  136.          
  137.     } //Fin de la clase.
  138.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement