Files
tutorialjava2024-25/src/tutorialJava/examenes/examen20241213/Principal.java
2025-01-06 11:32:00 +01:00

142 lines
3.0 KiB
Java

package tutorialJava.examenes.examen20241213;
import tutorialJava.Utils;
import tutorialJava.examenes.examen20241211.Producto;
public class Principal {
private static Animal[] animales = new Animal[Utils.obtenerNumeroAzar(10, 20)];
/**
*
* @param args
*/
public static void main(String[] args) {
// Inicializo objetos en Array
for (int i = 0; i < animales.length; i++) {
if (i < (animales.length / 2)) {
animales[i] = new Mamifero("Mamífero_" + i);
}
else {
animales[i] = new Ave("Ave_" + i);
}
}
muestraAnimales();
ordenaBurbuja(animales);
System.out.println("\nAnimales ordenados");
muestraAnimales();
System.out.println("\nEspacios necsarios");
System.out.println("Total espacio necesario: " + calcularEspacioTotal());
System.out.println("Total espacio mamíferos carnívoros: " +
calcularEspacioMamiferosCarnivoros());
System.out.println("\nEstadísticas");
System.out.println("Animal que más ocupa: " + animales[0].toString());
System.out.println("Animal que menos ocupa: " +
animales[animales.length - 1].toString());
System.out.println("Total mamíferos herbívoros: " + contadorMamiferosHerbivoros());
System.out.println("Total aves gran envergadura: " +
contadorAvesGranEnvergadura());
}
/**
*
*/
private static void muestraAnimales() {
for (int i = 0; i < animales.length; i++) {
System.out.println(animales[i].toString());
}
}
private static float calcularEspacioTotal() {
float espacio = 0;
for (int i = 0; i < animales.length; i++) {
espacio += animales[i].calcularEspacio();
}
return espacio;
}
private static float calcularEspacioMamiferosCarnivoros() {
float espacio = 0;
for (int i = 0; i < animales.length; i++) {
if (animales[i] instanceof Mamifero) {
Mamifero m = (Mamifero) animales[i];
if (m.getTipoAlimentacion().equalsIgnoreCase("Carnívoro")) {
espacio += animales[i].calcularEspacio();
}
}
}
return espacio;
}
/**
*
* @return
*/
private static int contadorMamiferosHerbivoros() {
int cont = 0;
for (int i = 0; i < animales.length; i++) {
if (animales[i] instanceof Mamifero) {
Mamifero m = (Mamifero) animales[i];
if (m.getTipoAlimentacion().equalsIgnoreCase("Herbívoro")) {
cont++;
}
}
}
return cont;
}
/**
*
* @return
*/
private static int contadorAvesGranEnvergadura() {
int cont = 0;
for (int i = 0; i < animales.length; i++) {
if (animales[i] instanceof Ave) {
Ave a = (Ave) animales[i];
if (a.getEnvergaduraAlas() > 100) {
cont++;
}
}
}
return cont;
}
/**
*
* @param a
*/
public static void ordenaBurbuja(Animal a[]) {
boolean hayIntercambios = false;
do {
hayIntercambios = false;
for (int i = 0; i < a.length - 1; i++) {
if (a[i].calcularEspacio() < a[i + 1].calcularEspacio()) {
Animal aux = a[i];
a[i] = a[i + 1];
a[i + 1] = aux;
hayIntercambios = true;
}
}
} while (hayIntercambios == true);
}
}