Saludos dejo acá mi código para el ejercicio CU00920C del tutorial de programación Java avanzado con ejercicios resueltos.
Clase Cuadrupedo
import java.util.Random;
public class Cuadrupedo {
public static final String[] animal = {"Leon", "Gato", "Perro", "Elefante"};
private final Random rdm;
private final int id;
private final String tipo;
private static int i = 1;
public Cuadrupedo() {
rdm = new Random();
tipo = animal[rdm.nextInt(animal.length)];
id = i;
i++;
}
public int getId() {
return id;
}
public String getTipo() {
return tipo;
}
@Override
public String toString() {
return "Cuadrupedo -> ID: " + id + " Tipo: " + tipo;
}
}
Clase Main
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
// TODO code application logic here
int cantidadCuadrupedos;
cantidadCuadrupedos = 10000;
List<Cuadrupedo> list = new ArrayList<Cuadrupedo>();
int cantidadAnimales = Cuadrupedo.animal.length;
int[] animalesPorTipo = new int[cantidadAnimales];
for (int i = 0; i < 10000; i++) {
list.add(new Cuadrupedo());
}
int k = 0;
while (k < cantidadCuadrupedos) {
for (Cuadrupedo c : list) {
if (c.getId() % 1000 == 0 && c.getId() > 0) {
System.out.println(c);
}
if (c.getTipo().equals(Cuadrupedo.animal[k])) {
animalesPorTipo[k] += 1;
}
}
k++;
}
System.out.print("Resumen: hay ");
for (int j = 0; j < animalesPorTipo.length; j++) {
if (j == animalesPorTipo.length - 1) {
System.out.print(animalesPorTipo[j] + " " + Cuadrupedo.animal[j] + "s. ");
} else {
System.out.print(animalesPorTipo[j] + " " + Cuadrupedo.animal[j] + "s, ");
}
}
}
}