Hola a todos. Os dejo mi código del ejercicio CU00915C del tutorial gratuito de java avanzado ofrecido en esta web.
GRACIAS
Un saludo.
/**
* 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;
}
}
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.");
}
}
}
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());
}
}
}