View difference between Paste ID: 9bhUcd1z and qT0dYgv9
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
 
15
* @Ingeniera: Perez Ibarra.
16
* @Fecha: 12/10/2020.
17
*/
18
 
19
/*
20
 Trabajo Práctico N°3 / Listas - Cola (Queue) / Ejercicio 1 
21
---------------------   ---------------------   ------------
22
* Objetivo General: Crear una función, método o subprograma que reciba como parametro una cola y un número, devuelva una cola.
23
* Metodología Empleada: Ingresar por consola o aleatoriamente valores para una cola.
24
                        Ingresar un número, del cual se eliminaran sus multiplos en la cola.
25
                        Suprimir todas las apariciones de multiplos de dicho número solicitado.
26
                        Se debe utilizar colas circulares.  
27
* El funcionamiento será a traves del entorno de desarrollo integrado Eclipse 2020-06(4.16)-(IDE for Java Developers),
28
  empleando el leguaje de programación Orientado a Objeto Java.
29
* Api a utilizar. Paquete:- Java.Util / Clase:- Scanner y - Random.
30
* Clase principal: SuprimirMultiplosdeCola. 
31
* Clases secundarias: Cola, Helper.
32
*/
33
  
34
public class SuprimirMultiplosdeCola {
35
    
36
    //------------------- Inicio método Run() -------------------// 
37
    
38
        public void run(){
39
            Cola<Integer> colaInicial;
40
            Cola<Integer> colaRestringida;
41
            int respuesta;
42
            int numero=0;
43
            int longitud=0;
44
            do {
45
                menu();
46
                respuesta=Helper.numeroEntero("Ingrese una opción ........ : ");
47
                if ((respuesta==1)||(respuesta==2)) {       
48
                    longitud= Helper.numeroEnteroPositivo("Ingrese la longitud de la Cola......: ");
49
                    numero=Helper.numeroEntero("Ingrese un número a comparar......: ");
50
                    colaInicial= new Cola(longitud);
51
                    colaRestringida= new Cola(longitud);
52
                }else{
53
                    colaInicial= new Cola();
54
                    colaRestringida= new Cola();
55
                }
56
                switch(respuesta){
57
                    case 1 :cargarCola(colaInicial, longitud);   
58
                            Helper.MostrarColas(colaInicial,"La Cola ingresada es......: ");
59
                            colaRestringida=suprimirMultiplos(colaInicial, numero);
60
                            Helper.MostrarColas(colaRestringida,"La  Cola resultante es......: ");
61
                        break;
62
                    case 2 :CargaColaRandom (colaInicial,longitud); 
63
                            Helper.MostrarColas(colaInicial,"La Cola ingresada es......: ");
64
                            colaRestringida=suprimirMultiplos(colaInicial, numero);
65
                            Helper.MostrarColas(colaRestringida,"La Cola resultante es......: ");
66
                        break;
67-
                    case 3: System.out.println("----------Fin Del Ejercicio1----------");
67+
                    case 3: System.out.println("----------Fin Del Ejercicio Nº 1----------");//Fin del programa.
68
                        break;
69
                    default: System.out.println("Seleccione una opción valida............");
70
                        break;
71
                } //Fin switch.
72
            } while (respuesta!=3);  
73
        } //Fin run.
74
        
75
    //-------------- Menú - SuprimirMultiplosdeCola -------------// 
76
        
77
        public void menu(){
78
            System.out.println("-------------- Menú EJERCICIO 1 -------------------");
79
            System.out.println("1) Cagar de manera manual......");
80
            System.out.println("2) Cargar de manera random......");
81
            System.out.println("3) Salir del Ejercicio 1 ......");
82
        } //Fin menu.
83
        
84
    //----------------------Cola - Cargar------------------------//
85
        
86
        public void cargarCola(Cola<Integer> cola, int capacidad) {     //Carga la Cola con enteros de forma manual.
87
            int entrada;
88
            System.out.println("-------------- Cargando la Cola -------------");
89
            for (int i=0; i<capacidad; i++) {
90
                entrada=Helper.numeroEntero((i+1)+") Ingrese un número.........: ");
91
                cola.offer(entrada);
92
             }
93
        } //Fin cargarCola.
94
 
95-
         public void CargaColaRandom(Cola<Integer> cola,int capacidad){  //Carga la Cola con enteros de forma aleatoria.
95+
        public void CargaColaRandom(Cola<Integer> cola,int capacidad){  //Carga la Cola con enteros de forma aleatoria.
96
             System.out.println("--------------Cola cargada Aleatoriamente -------------");
97
        //    do {
98
          //    cola.pool();  
99
          //  }while(cola.size()!=0);
100
            for(int i = 0;i < capacidad; ++i ) {
101
                cola.offer(Helper.random.nextInt(99)-(Helper.random.nextInt(99))); 
102
              }  
103
        }//Fin cargarColaRamdon.
104
        
105
      //---Cola - Suprimir elementos especificos (Ejercicio 1)---//
106
        
107
        public Cola<Integer> suprimirMultiplos(Cola<Integer> cola, int parametro){
108
            Cola<Integer> colaSinMultiplos=new Cola(cola.size()) ;  
109
            do {    
110
                try {
111
                    if ((cola.peek()%parametro)!=0) {
112
                    colaSinMultiplos.add(cola.pool());
113
                }else{
114
                    cola.pool();
115
                } //Fin if-else.
116
                } catch (Exception e) { 
117
                    if (cola.peek()!=0) {                      
118
                        colaSinMultiplos.add(cola.pool());
119
                    }else {                                    
120
                        cola.pool();
121
                    }// Fin if-else.
122
                }
123
            } while (cola.size()>0);
124
            return colaSinMultiplos;
125
        } //fin suprimirMultiplos.
126
        
127
} //Fin class SuprimirMultiplosdeCola.
128