Mi propuesta al ejercicio planteado CU00915C del curso de programación orientada a objetos avanzada con Java de aprenderaprogramar
Saludos
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);
}
}
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];
}
}
}
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());
}
}
}