FacundoCruz

CompetenciaPescaPejerey

Oct 29th, 2020
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. Soto, Sofía Alejandra                | Ing. Informática         | 40.442.283
  15. Vilca, Sergio Esteban                | Ing. Informática         | 39.200.406
  16.  
  17. * @Ingeniera: Perez Ibarra.
  18. * @Fecha: 28/10/2020.
  19. */
  20.  
  21. /*
  22.  Trabajo Práctico N°4 / Listas – Lista Genérica, Lista Ordenada / Ejercicio 6
  23. ---------------------   --------------------------------------   ------------
  24. * Objetivo General: Almacenar la información de equipos en una lista y determinar ganador, perdedor.
  25. * Metodología Empleada: Ingresar por consola o aleatoriamente valores para equipos participantes:
  26.                         Nombre del equipo, cantidad de integrantes del equipo (entre 3 y 5)
  27.                         y cantidad de presas obtenidas.
  28.                         Almacenarlo en una lista y mostrar el equipo que obtuvo mayor cantidad de  
  29.                         presas y el que obtuvo la menor cantidad.
  30.                         Ademas indicar que equipo conformado por la menor cantidad de integrante
  31.                         obtuvo más presas.
  32.                         Se utiliza Lista Enlazada Doble, DobleOrdenada.
  33. * El funcionamiento será a traves del entorno de desarrollo integrado Eclipse 2020-06(4.16)-(IDE for Java Developers),
  34.   empleando el leguaje de programación Orientado a Objeto Java.
  35. * Api a utilizar. Paquete:- Java.Util / Clase:- Iterator, - Scanner , - Random.
  36. * Clase principal: CompetenciaPescaPejerey.
  37. * Clases secundarias: Equipos, DoubleLinkedList, DoubleLinkedListOrdenada, Helper.
  38. * Iteradores: ILinkedList, LinkedListOrdenada.*/
  39. import java.util.Iterator;
  40.  
  41. public class CompetenciaPescaPejerey {
  42.     //------------------- Inicio método Run() --------------------//
  43.    
  44.     public void run() {
  45.         Equipos minIntegrantes=null;
  46.         DoubleLinkedListOrdenada<Equipos>listaEquipos= new DoubleLinkedListOrdenada<Equipos>();
  47.         int respuesta, cantidad=0;
  48.         System.out.println("Trabajo Práctico Nº 4 - Ejercicio 6");
  49.         do {
  50.             menu();
  51.             respuesta=Helper.numeroEntero("Ingrese una opción ........:  ");
  52.             if ((respuesta==1)||(respuesta==2)) {
  53.                 cantidad= Helper.numeroEnteroPositivo("Cantidad de de Equipos Participantes: ");
  54.             }
  55.             switch(respuesta){
  56.                 case 1: EnlistarEquipos(listaEquipos,cantidad,1);
  57.                     break;
  58.                 case 2: EnlistarEquipos(listaEquipos,cantidad,2);
  59.                     break;
  60.                 case 3: listaEquipos(listaEquipos);
  61.                     break;
  62.                 case 4: mostrarResultados(listaEquipos,minIntegrantes);
  63.                         System.out.println("-----Fin del Ejercicio 6-----------");
  64.                     break;
  65.                 default: System.out.println("Ingrese una opción válida.....");
  66.                     break;
  67.             }
  68.         }while(respuesta!=4);
  69.     }
  70.     //-------------- Menú - CompetenciaPescaPejerey --------------//  
  71.    
  72.     public void menu(){
  73.         System.out.println("-------------- Campeonato de Pesca -------------------");
  74.         System.out.println("1) Cargar equipos......");
  75.         System.out.println("2) Generar equipos......");
  76.         System.out.println("3) Lista de equipos registrados........");
  77.         System.out.println("4) Fin del Campeonado, Mostrar los resultados .....");
  78.     } //Fin menu
  79.     //----------------------- Cargar Lista------------------------//
  80.    
  81.     private void EnlistarEquipos(LinkedListOrdenada<Equipos> e, int ultimo,int eleccion) {//Proceso de Cargar una Lista.
  82.         System.out.println("----------- Carga de equipos ------------------");
  83.         for(int i=0;i<ultimo;i++) {  
  84.             if(eleccion==1) {              
  85.                 System.out.println("Carga del Equipo Nº "+(i+1)+" :");
  86.                 e.addenOrden(crearEquipo());                
  87.             }else {
  88.                 e.addenOrden(equiporandom());
  89.             }
  90.         }
  91.         System.out.println("------- Fin de la Carga de equipos  ---------");
  92.     } //Fin EnlistarEquipos.
  93.    
  94.     private Equipos crearEquipo() { //Carga Equipo de forma manual.
  95.         Integer miembros;
  96.         Integer pescados;
  97.         System.out.print("Ingrese Nombre del Equipo: ");
  98.         String equipo=Helper.sc.nextLine();
  99.         System.out.print("Cantidad de Miembros del Equipo (Min. 3,Max.5):");
  100.         while(true){
  101.               miembros= Helper.entero("");
  102.               if ( Helper.dentroIntervalo(miembros,3,5)==false) break;
  103.                   }
  104.         System.out.print("Ingrese Cantidad de Peces Atrapados :");
  105.         while(true) {
  106.             pescados= Helper.entero("");
  107.             if(Helper.naturalesCero(pescados)==false)break;
  108.             }
  109.         return new Equipos (equipo,miembros,pescados);      
  110.     } //Fin crearEquipo.
  111.    
  112.     private Equipos equiporandom(){ //Carga Equipo con datos aleatorios.
  113.         String[] nombre= {"Team Null","Sin anzuelo","Bigote de Bagre","Golden fishers","Camarones","Only Catamaran","Participamos de onda","Solo pesco en Rio","Exception Explosion","Trycatch's","No sabemos programar","Seguidores del profe Tentor","Esclavos de Zapana","Esto es C++?","Me Equivoque de Carrera","No Quiero Recursar"} ;                
  114.         String equipo=nombre[Helper.generadorAleatorio(nombre.length)];
  115.         Integer miembros=Helper.generadorAleatorio(3)+3;//
  116.         Integer pescados=Helper.generadorAleatorio(500); //                
  117.         return new Equipos(equipo,miembros,pescados);
  118.     } //Fin Equiporandom.
  119.     //----------------- Mostrar Lista Ordenada -------------------//
  120.    
  121.     public void listaEquipos(DoubleLinkedListOrdenada<Equipos> listaEquipos){
  122.         System.out.println("Lista de los equipos registrados.......");
  123.         if (listaEquipos.size()!=0) {
  124.             System.out.println(listaEquipos.toString()+"\n-------------- Fin del listado ------------");
  125.         }else System.out.println("------- Aun no se registraron equipos -----");
  126.     } // Fin listaEquipos.
  127.     //--------------- Mostrar Resultado de Pesca -----------------//
  128.    
  129.     private void mostrarResultados(DoubleLinkedListOrdenada<Equipos> e,Equipos desventaja){
  130.         int contpescados = 0,minimoIntregrantes=6;
  131.         System.out.println("Los ganadores son:");
  132.         mostrarGanadores(e);
  133.         System.out.println("==================================");
  134.         for (Equipos checkeo : e) {              
  135.             if(checkeo.getIntegre()<minimoIntregrantes) {
  136.                 minimoIntregrantes=checkeo.getIntegre();
  137.                 contpescados=0;
  138.                 if(checkeo.getPresas()>=contpescados) {
  139.                     contpescados=checkeo.getPresas();  
  140.                     desventaja= checkeo;}            
  141.                }
  142.         }
  143.         System.out.println("Equipo con menor integrantes y mayor presas\n"+desventaja+"\n==================================");
  144.         System.out.println("Los perdedores son: ");
  145.         mostrarPerdedores(e);
  146.         System.out.println("==================================");  
  147.     }// Fin MostrarResultados.
  148.    
  149.     private void mostrarGanadores(DoubleLinkedListOrdenada<Equipos> lista){
  150.         for (Equipos equipo: lista) {
  151.             if (equipo.compareTo(lista.iterator().next())!=0) {
  152.                 break;
  153.             }
  154.             System.out.println(equipo);
  155.         }
  156.     } //Fin mostrarGanadores
  157.    
  158.     private void mostrarPerdedores(DoubleLinkedListOrdenada<Equipos> lista){
  159.         Iterator<Equipos> IT = lista.iteratorBack();
  160.         Equipos equipo1= IT.next();
  161.         System.out.println(equipo1);
  162.         while (IT.hasNext()) {
  163.             Equipos equipo2=IT.next();
  164.             if (equipo1.compareTo(equipo2)==0) {
  165.                 System.out.println(equipo2);
  166.             }else  break;
  167.                 }
  168.     } //Fin mostrarPerdedores
  169.    
  170. }
  171.  
Add Comment
Please, Sign In to add comment