Autor Tema: Ejercicios resueltos Java implementacion interfaz iterable implements CU00915C  (Leído 1889 veces)

@mayakoski

  • Sin experiencia
  • *
  • Mensajes: 43
    • Ver Perfil
Mi propuesta al ejercicio planteado CU00915C del curso de programación orientada a objetos avanzada con Java de aprenderaprogramar

Saludos

Código: [Seleccionar]
package claseCU00915C;

public class AvesEnZoo {
private String tipoDeAve;
private int numeroAves, numeroMachos, numeroHembras;

public AvesEnZoo(String pTipAve, int pNumAvez, int pNumMac, int pNumhem ) {
this.tipoDeAve = pTipAve;
this.numeroAves = pNumAvez;
this.numeroMachos = pNumMac;
this.numeroHembras = pNumhem;
}

public String ToString() {
return(this.tipoDeAve+" "+this.numeroAves+" "+this.numeroMachos+" "+this.numeroHembras);
}

}


Código: [Seleccionar]
package claseCU00915C;

import java.util.Iterator;

public class GruposDeAvesZoos implements Iterable<AvesEnZoo> {

public AvesEnZoo[] conjuntoAves;

public GruposDeAvesZoos(AvesEnZoo[] p) {
conjuntoAves = p;
}

@Override
public Iterator<AvesEnZoo> iterator() {
Iterator it = new MiIteratorAves();
return it;
}

protected class MiIteratorAves implements Iterator<AvesEnZoo> {

int posicionArray;

public MiIteratorAves() {
posicionArray = 0;
}

@Override
public boolean hasNext() {
// boolean result;
if (posicionArray < conjuntoAves.length) {
return true;
}
return false;
}

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

}

}


Código: [Seleccionar]
package claseCU00915C;

import java.util.Iterator;

public class Programa1 {
public static void main(String[] args) {
AvesEnZoo a1 = new AvesEnZoo("Aguilas  ", 35, 10, 25);
AvesEnZoo a2 = new AvesEnZoo("Pinguinos", 25, 10, 15);
AvesEnZoo a3 = new AvesEnZoo("Periquitos", 5, 3, 2);
AvesEnZoo a4 = new AvesEnZoo("Pinguinos", 100, 55, 45);
AvesEnZoo a5 = new AvesEnZoo("Halcones", 80, 25, 55);

AvesEnZoo[] ca = { a1, a2, a3, a4, a5 };
GruposDeAvesZoos gaz = new GruposDeAvesZoos(ca);

System.out.println("TIPO |TOTAL |MACHOS |HEMBRAS \n");
for (AvesEnZoo avesEnZoo : gaz) {

System.out.println(avesEnZoo.ToString());
}
}

}
« Última modificación: 13 de Septiembre 2020, 12:06 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Buenas, el ejercicio está bien resuelto pero no cumple lo que se pedía "Utilizando un iterador, muestra los datos de los objetos presentes en el objeto GruposDeAvesZoos.", o al menos no lo cumple directamente, en el sentido de que no se utiliza un iterador explícito, sino un for extendido.

Puede verse una solución correcta con uso de un iterador explícito en https://aprenderaprogramar.com/foros/index.php?topic=5922.0

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".