Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package prueba2sem2018;
- import java.util.ArrayList;
- /**
- *
- * @author gatob
- */
- public class Sala {
- //Declaración Variables de Instancia
- private String sigla;
- private String nombreS;
- private DogList arrayDog;
- //Constructor
- public Sala(String sigla, String nombreS){
- this.sigla = sigla;
- this.nombreS = nombreS;
- arrayDog = new DogList();
- }
- public void setSigla(String sigla){
- this.sigla = sigla;
- }
- public String getSigla(){
- return sigla;
- }
- /*Método adoptarAnimal: que recibe un nombre y tipo de Animal, y lo busca en su DogList de Animales.
- En caso de existir lo elimina y retorna. En caso de no encontrarlo retorna null.
- public class DogList {
- public void add(Object o): recibe un objeto y lo almacena al final de la colección.
- public void next(): mueve actual a la siguiente posición.
- public Object currValue(): retorna el elemento de la posición actual.
- public boolean end(): retorna true si actual se encuentra pasado el final de la lista, o false en caso contrario.
- public void start(): mueve actual a la primera posición.
- public Object remove(): elimina de la colección el elemento actual, y lo retorna.
- }
- */
- //Metodo adoptarAnimal
- public Animal adoparAnimal(String nombre, String tipo){
- Animal aux; // uso el aux para poder comparar con los datos ingresados
- for(arrayDog.start(); !arrayDog.end(); arrayDog.next()){ //Empiezo en la primera posicion; Si no estor en el Ultimo; Avanzo a la sgte posicion
- if(arrayDog.currValue() != null){ //Si la pos tiene un valor
- aux = (Animal) arrayDog.currValue(); //Se le asigna el valor casteado, para comparar
- if(aux.getNombreA().equalsIgnoreCase(nombre) && aux.getTipoA().equalsIgnoreCase(tipo)){ //Se ve si el animal coincide con los datos ingresados
- arrayDog.remove(); // Al estar el animal se remueve porque va a ser adoptado
- return aux; //se retorna el animal adoptado
- }
- }
- }
- return null;// Se retorna null al no existir ese animal
- }
- /*
- Método animalesJóvenesVacunados: que recibe una edad (int) y una cantidad máxima de vacunas (int).
- Retorna un ArrayList con todos los animales de menor o igual edad que la ingresada y que tengan como máximo vacunasMax vacunas.
- Retorna null en caso de que no existan animales que cumplan con dicha condición.
- public class DogList {
- public void add(Object o): recibe un objeto y lo almacena al final de la colección.
- public void next(): mueve actual a la siguiente posición.
- public Object currValue(): retorna el elemento de la posición actual.
- public boolean end(): retorna true si actual se encuentra pasado el final de la lista, o false en caso contrario.
- public void start(): mueve actual a la primera posición.
- public Object remove(): elimina de la colección el elemento actual, y lo retorna.
- }
- */
- public ArrayList animalesJovenesVacunados(int edad, int cantMaxVacunas){
- Animal aux; // uso el aux para poder comparar con los datos ingresados
- ArrayList<Animal> arrayAux = new ArrayList(); // uso el arrayAux para poder guardar los animales con los datos ingresados
- for(arrayDog.start(); arrayDog.end(); arrayDog.next()){ //Empiezo en la primera posicion; Si no estor en el Ultimo; Avanzo a la sgte posicion
- if(arrayDog.currValue() != null){ //Si la pos tiene un valor
- aux = (Animal) arrayDog.currValue(); //Se le asigna el valor casteado, para comparar
- if(aux.getMeses() <= edad && aux.getCantVacunas() <= cantMaxVacunas){ //Se ve si el animal coincide con los datos ingresados
- arrayDog.add(aux); //Como el animal cumple con los criterios se guarda en el arrayAux
- }
- }
- }
- if(arrayAux.isEmpty()){ //Si el arrayAux esta vacio
- return null; //Se retorna null al no haber ningun animal
- }
- return arrayAux; //Se retorna el arrayAux al haber animales que cumplan las condiciones
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment