GatoBooster

Sala Prueba2Sem2018

Apr 7th, 2019
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.44 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package prueba2sem2018;
  7.  
  8. import java.util.ArrayList;
  9.  
  10. /**
  11.  *
  12.  * @author gatob
  13.  */
  14. public class Sala {
  15.     //Declaración Variables de Instancia
  16.     private String sigla;
  17.     private String nombreS;
  18.     private DogList arrayDog;
  19.    
  20.     //Constructor
  21.     public Sala(String sigla, String nombreS){
  22.         this.sigla = sigla;
  23.         this.nombreS = nombreS;
  24.         arrayDog = new DogList();
  25.     }
  26.    
  27.     public void setSigla(String sigla){
  28.         this.sigla = sigla;
  29.     }
  30.    
  31.     public String getSigla(){
  32.         return sigla;
  33.     }
  34.    
  35.    
  36.     /*Método adoptarAnimal: que recibe un nombre y tipo de Animal, y lo busca en su DogList de Animales.
  37.     En caso de existir lo elimina y retorna. En caso de no encontrarlo retorna null.
  38.  
  39.     public class DogList {
  40.         public void add(Object o): recibe un objeto y lo almacena al final de la colección.
  41.         public void next(): mueve actual a la siguiente posición.
  42.         public Object currValue(): retorna el elemento de la posición actual.
  43.         public boolean end(): retorna true si actual se encuentra pasado el final de la lista, o false en caso contrario.
  44.         public void start(): mueve actual a la primera posición.
  45.         public Object remove(): elimina de la colección el elemento actual, y lo retorna.
  46.     }
  47.     */
  48.     //Metodo adoptarAnimal    
  49.     public Animal adoparAnimal(String nombre, String tipo){
  50.         Animal aux; // uso el aux para poder comparar con los datos ingresados
  51.         for(arrayDog.start(); !arrayDog.end(); arrayDog.next()){ //Empiezo en la primera posicion; Si no estor en el Ultimo; Avanzo a la sgte posicion
  52.             if(arrayDog.currValue() != null){ //Si la pos tiene un valor
  53.                 aux = (Animal) arrayDog.currValue(); //Se le asigna el valor casteado, para comparar
  54.                 if(aux.getNombreA().equalsIgnoreCase(nombre) && aux.getTipoA().equalsIgnoreCase(tipo)){ //Se ve si el animal coincide con los datos ingresados
  55.                     arrayDog.remove(); // Al estar el animal se remueve porque va a ser adoptado
  56.                     return aux; //se retorna el animal adoptado
  57.                 }
  58.             }
  59.         }
  60.         return null;// Se retorna null al no existir ese animal
  61.     }
  62.    
  63.     /*
  64.     Método animalesJóvenesVacunados: que recibe una edad (int) y una cantidad máxima de vacunas (int).
  65.     Retorna un ArrayList con todos los animales de menor o igual edad que la ingresada y que tengan como máximo vacunasMax vacunas.
  66.     Retorna null en caso de que no existan animales que cumplan con dicha condición.
  67.     public class DogList {
  68.         public void add(Object o): recibe un objeto y lo almacena al final de la colección.
  69.         public void next(): mueve actual a la siguiente posición.
  70.         public Object currValue(): retorna el elemento de la posición actual.
  71.         public boolean end(): retorna true si actual se encuentra pasado el final de la lista, o false en caso contrario.
  72.         public void start(): mueve actual a la primera posición.
  73.         public Object remove(): elimina de la colección el elemento actual, y lo retorna.
  74.     }
  75.     */
  76.     public ArrayList animalesJovenesVacunados(int edad, int cantMaxVacunas){  
  77.         Animal aux; // uso el aux para poder comparar con los datos ingresados
  78.         ArrayList<Animal> arrayAux = new ArrayList(); // uso el arrayAux para poder guardar los animales con los datos ingresados
  79.         for(arrayDog.start(); arrayDog.end(); arrayDog.next()){ //Empiezo en la primera posicion; Si no estor en el Ultimo; Avanzo a la sgte posicion
  80.             if(arrayDog.currValue() != null){ //Si la pos tiene un valor
  81.                 aux = (Animal) arrayDog.currValue(); //Se le asigna el valor casteado, para comparar
  82.                 if(aux.getMeses() <= edad && aux.getCantVacunas() <= cantMaxVacunas){  //Se ve si el animal coincide con los datos ingresados
  83.                     arrayDog.add(aux); //Como el animal cumple con los criterios se guarda en el arrayAux
  84.                 }
  85.             }
  86.         }
  87.         if(arrayAux.isEmpty()){ //Si el arrayAux esta vacio
  88.             return null; //Se retorna null al no haber ningun animal
  89.         }
  90.         return arrayAux; //Se retorna el arrayAux al haber animales que cumplan las condiciones
  91.     }
  92. }
Advertisement
Add Comment
Please, Sign In to add comment