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 |