SHOW:
|
|
- or go back to the newest paste.
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 Equipos Participantes: "); |
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 minIntegrantes){ |
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 equipo : e) { |
134 | + | for (Equipos checkeo : e) { |
135 | - | if(equipo.getIntegre()<minimoIntregrantes) { |
135 | + | if(checkeo.getIntegre()<minimoIntregrantes) { |
136 | - | minimoIntregrantes=equipo.getIntegre(); |
136 | + | minimoIntregrantes=checkeo.getIntegre(); |
137 | contpescados=0; | |
138 | - | if(equipo.getPresas()>=contpescados) { |
138 | + | if(checkeo.getPresas()>=contpescados) { |
139 | - | contpescados=equipo.getPresas(); |
139 | + | contpescados=checkeo.getPresas(); |
140 | - | minIntegrantes= equipo;} |
140 | + | desventaja= checkeo;} |
141 | } | |
142 | } | |
143 | - | System.out.println("Equipo con menor integrantes y mayor presas\n"+minIntegrantes+"\n=================================="); |
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 |