Autor Tema: Java Recorrer colección Iterable-Iterator código iterador Ejercicio CU00915C#  (Leído 2056 veces)

Pepote21

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 92
    • Ver Perfil
Hola a todos. Os dejo mi código del ejercicio CU00915C del tutorial gratuito de java avanzado ofrecido en esta web.

GRACIAS

Un saludo.

Código: [Seleccionar]
/**
 * Ejericio CU00915C
 *
 * @author pepote2
 * @version 20170205
 */
public class AvesEnZoo {
    String tipoDeAve;
    int numeroAves, numeroMachos, numeroHembras;
   
    public AvesEnZoo(String tipoDeAve, int numeroAves, int numeroMachos, int numeroHembras){
        this.tipoDeAve = tipoDeAve;
        this.numeroAves = numeroAves;
        this.numeroMachos = numeroMachos;
        this.numeroHembras = numeroHembras;
    }
   
    public void setTipoDeAve(String tipoDeAve){
        this.tipoDeAve = tipoDeAve;
    }
    public void setNumeroAves(int numeroAves){
        this.numeroAves = numeroAves;
    }
    public void setNumeroMachos(int numeroMachos){
        this.numeroMachos = numeroMachos;
    }
    public void setNumeroHembras(int numeroHembras){
        this.numeroHembras = numeroHembras;
    }
       
    public String getTipoDeAve(){
        return tipoDeAve;
    }
    public int getNumeroAves(){
        return numeroAves;
    }
    public int getNumeroMachos(){
        return numeroMachos;
    }
    public int getNumeroHembras(){
        return numeroHembras;
    }
   
    @Override
    public String toString(){
        return tipoDeAve+"    "+numeroAves+"    "+numeroMachos+"    "+numeroHembras;
    }
}


Código: [Seleccionar]
import java.util.Iterator;

/**
 * Ejercicio CU00915C
 * Utilizar un iterador o el for each para recorrer colecciones
 * @author pepote21
 * @version 20170205
 */
public class GruposDeAvesEnZoos implements Iterable<AvesEnZoo>{
   
    public AvesEnZoo [] grupoDeAves;
   
    public GruposDeAvesEnZoos(AvesEnZoo []a){
        grupoDeAves=a;
    }

    @Override
    public Iterator<AvesEnZoo> iterator() {
        Iterator it=new MiIteratorAvesEnZoo();
        return it;
    }
   
    protected class MiIteratorAvesEnZoo implements Iterator<AvesEnZoo>{
        protected int posicionArray;

        public MiIteratorAvesEnZoo(){
            posicionArray = 0;
        }

        @Override
        public boolean hasNext() {
            boolean result;
            if (posicionArray < grupoDeAves.length) {
                result = true;
            }else { result = false;
            }
            return result;
        }

        @Override
        public AvesEnZoo next() {
            posicionArray++;
            return grupoDeAves[posicionArray-1];
        }

        @Override
        public void remove(){
            throw new UnsupportedOperationException("No soportado.");
        }

    }
}


Código: [Seleccionar]
import java.util.Iterator;

/**
 * Ejercicio CU00915C
 * Utilizar un iterador o el for each para recorrer colecciones
 * @author pepote21
 * @version 20170205
 */
public class Principal_915_1 {
    public static void main(String[] args){
       
        AvesEnZoo az1=new AvesEnZoo("Aguila",35,10,25);
        AvesEnZoo az2=new AvesEnZoo("Buitre",100,55,45);
        AvesEnZoo az3=new AvesEnZoo("Halcons",80,25,55);
        AvesEnZoo [] ave={az1,az2,az3};
       
        GruposDeAvesEnZoos ga = new GruposDeAvesEnZoos(ave);
       
       
        Iterator<AvesEnZoo> it1=ga.iterator();
        System.out.println("TIPO"+"\t"+"TOTAL"+"\t"+"MACHOS"+"\t"+"HEMBRAS"+"\n");
        while(it1.hasNext()){
            AvesEnZoo tmp=it1.next();
           
            System.out.println(tmp.toString());
        }
    }
}
« Última modificación: 04 de Junio 2018, 19:44 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Buenas Pepote21 ejercicio bien resuelto

En la clase GruposDeAvesEnZoos aparece un compiler warning: uses unchecked or unsafe operations. Recompile with -Xlint:unchecked for details, esto deberías revisarlo y eliminar ese warning si es posible

Salu2

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".