Advertisement
MOISES_QUISPE_ROJAS

Estructura Datos 2021 - TP03 P01

Oct 6th, 2021
978
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.32 KB | None | 0 0
  1. /* Estructura de Datos - Facultad de Ingenieria - Universidad Nacional de Jujuy
  2.  *
  3.  * @Autor: Equipo 4.1
  4.  */
  5.  /*      @integrantes:                  |    @Carrera:             |   @LU:
  6.    Flores ,Cesar Ismael                 | Lic. en Sistemas         | 1782
  7.    Llampa, Ariel Angel Gabriel          | Ing. Informatica         | 8445
  8.    Machaca, Rodrigo Agustin             | Ing. Informatica         | 8512
  9.    Perez, Emanuel Ismael                | Ing. Informatica         | 8393
  10.    Quispe Rojas, Moises Esteban Nicolas | Ing. Informatica         | 7286
  11.  
  12. Escribir una función, método o subprograma que reciba como parámetros una cola y un número; debe
  13. devolver una cola en la que se suprimen todas las apariciones de los múltiplos de dicho número. Para la
  14. resolución del ejercicio debe utilizar colas circulares.
  15. Modifique el programa escrito de manera que permita optar entre el ingreso de valores por consola o por
  16. un generador de valores aleatorios.
  17.  
  18. Indicaciones:
  19. Este ejercicio necesita del objeto scanner para ingresar datos por la consola o teclado, se espera que el
  20. código controle los problemas que normalmente ocurren al operar con la consola o teclado.
  21. Se espera una correcta modularización entre el código que realiza el ingreso y validación de los datos
  22. respecto del código que hace lo que se solicita en el ejercicio.
  23. El ejercicio debe implementar un mecanismo para seleccionar el ingreso de valores por consola o
  24. generados aleatoriamente.
  25.  */
  26. package Queue;
  27.  
  28. public class ED_E1 {
  29.     private Queue<Integer> queueInteger;
  30.    
  31.     public static void main(String[] args) {
  32.         (new ED_E1()).open();
  33.     }
  34.    
  35.     public void open(){
  36.         char option,resp;
  37.         do{
  38.             do{
  39.                 System.out.println("Eliminar multiplos de una cola");
  40.                 System.out.println("(a) Carga manual de la Queue");
  41.                 System.out.println("(b) Carga automatica de la Queue");
  42.                 System.out.println("(c) Eliminar multiplos de la Queue");
  43.                 System.out.print("Opcion: ");
  44.                 option=Helper.getChar();
  45.             }while(validateOption(option));
  46.             do{
  47.                 System.out.println("Desea continuar(S/N): ");
  48.                 resp=Helper.getChar();
  49.             }while(validateResp(resp));
  50.         }while((resp=='s')|(resp=='S'));
  51.     }
  52.    
  53.     public boolean validateResp(char resp){
  54.         switch(resp){
  55.             case 's','S': return false;
  56.             case 'n','N': return false;
  57.                 default:{
  58.                     System.out.println("Debe ingresar (S/N)");
  59.                     return true;
  60.                 }  
  61.         }
  62.     }  
  63.              
  64.     public boolean validateOption(char option){
  65.         switch(option){
  66.             case 'a','A':      
  67.                 registerManual();
  68.                 return false;
  69.             case 'b','B':
  70.                 registerAutomatic();
  71.                 return false;
  72.             case 'c','C':{
  73.                 if(getQueueInteger()== null){
  74.                     System.out.println("Debe cargar la Queue primero");
  75.                     return true;
  76.                 }else{
  77.                     optionDelete();
  78.                     return false;
  79.                 }
  80.             }
  81.                 default:{
  82.                     System.out.println("Error...");
  83.                     System.out.println("Intentelo de nuevo");
  84.                     return true;
  85.                 }
  86.         }
  87.     }
  88.    
  89.     public void registerAutomatic(){
  90.         int amount= Helper.random.nextInt(99)+1;
  91.         setQueueInteger(new Queue<Integer>(amount));
  92.         for(int i=0; i<amount;i++){
  93.             getQueueInteger().add((int)(Helper.random.nextDouble()*99+1));
  94.         }
  95.         System.out.println("Cola cargada: "+getQueueInteger());
  96.        
  97.     }
  98.    
  99.     public void registerManual(){
  100.         System.out.print("Ingrese cantidad de valores a cargar en la Queue: ");
  101.         int amount= Helper.getIntegerPositive();
  102.         setQueueInteger(new Queue<Integer>(amount));
  103.         for(int i=0;i<amount;i++){
  104.             System.out.print("Ingrese valor: ");
  105.             getQueueInteger().add(Helper.getInteger());
  106.         }
  107.         System.out.println("Cola cargada: "+getQueueInteger());
  108.     }
  109.    
  110.     public void optionDelete(){
  111.         int delete;
  112.         System.out.print("Ingrese multiplo: ");
  113.         delete=Helper.getIntegerPositive();        
  114.         setQueueInteger(deleteElement(getQueueInteger(), delete));
  115.         System.out.println("Nueva Queue suprimidos los multiplos de "+delete+" : "+getQueueInteger());
  116.        
  117.     }
  118.    
  119.     // Firma: deleteElement suprime los multiplos de un valor entero a pedido
  120.     // Precondicion: Recibe como parametro una Queue y un valor entero
  121.     // Poscondicion: Retorna la misma Queue
  122.     public Queue deleteElement(Queue<Integer> queueInteger,int delete){
  123.         int remove,leng=getQueueInteger().size();
  124.         for(int i=0;i<leng;i++){
  125.             remove=queueInteger.remove();
  126.             if(remove%delete!=0){
  127.                 queueInteger.add(remove);
  128.             }
  129.         }
  130.         return queueInteger;
  131.     }
  132.    
  133.     public Queue<Integer> getQueueInteger() {
  134.         return queueInteger;
  135.     }
  136.  
  137.     public void setQueueInteger(Queue<Integer> queueInteger) {
  138.         this.queueInteger = queueInteger;
  139.     }
  140.    
  141. }
  142.    
  143.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement