Implementación Java: Clase para Gestión de Edades y Cálculo de Media
Clasificado en Informática
Escrito el en
español con un tamaño de 5,01 KB
Práctica de Programación Java: Gestión de Edades (EX1 23-24)
Requerimientos del Ejercicio 1: Clase "Edad.java"
Se requiere programar una clase que gestione un conjunto de edades, calculando su media y permitiendo encontrar el valor mínimo.
Definición de la Clase Edad
- Atributos:
- Un atributo de instancia privado de tipo
double:edadMedia. - Un atributo público de tipo array de enteros:
edades.
- Un atributo de instancia privado de tipo
- Constructor:
- Debe aceptar un parámetro (un array de enteros).
- Inicializar el atributo
edadescon los valores del array recibido (que provendrán del ejercicio 2). - Calcular la media de las edades y asignarla al atributo
edadMedia.
- Métodos:
mínimo(): Un método de clase que reciba un array de enteros, lo ordene y devuelva el valor mínimo del array.- Un método de instancia que imprima el contenido del array
edades. - Cualquier otro método necesario para resolver el ejercicio 2 (ej. un
getterparaedadMedia).
Código Fuente: Edad.java
public class Edad {
private double edadMedia;
public int[] edades;
public Edad(int[] array) {
edades = new int[array.length];
int suma = 0;
for (int i = 0; i < array.length; i++) {
edades[i] = array[i];
suma += edades[i];
}
edadMedia = (double) suma / edades.length;
}
// Método para obtener la edad media
public double get() {
return (edadMedia);
}
// Método de instancia para imprimir el array
public void imprimirArray() {
System.out.print("[ ");
for (int i = 0; i < edades.length; i++) {
System.out.print(edades[i] + " ");
}
System.out.print("] \n");
}
// Método de clase para encontrar el mínimo (implementa ordenamiento por burbuja)
public static int mínimo(int[] lista) {
for (int i = 0; i < lista.length; i++) {
for (int j = 0; j < lista.length - 1; j++) {
if (lista[j] > lista[j + 1]) {
int variableAuxiliar = lista[j];
lista[j] = lista[j + 1];
lista[j + 1] = variableAuxiliar;
}
}
}
return (lista[0]);
}
}
Requerimientos del Ejercicio 2: Clase Principal "MiEdad.java"
Se debe crear una clase principal que interactúe con el usuario y utilice la clase Edad.
Funcionalidades de MiEdad
- Solicitar por teclado el número de alumnos (tamaño del array).
- Solicitar las edades de cada alumno por teclado.
- Llamar al método
mínimo()(de la claseEdad), pasándole el array introducido, e imprimir la edad mínima devuelta. - Instanciar la clase
Edadcon el array de edades. - Llamar al método que imprime el array (debería mostrar el array ordenado, ya que
mínimo()lo ordena). - Imprimir la
edadMediaobtenida del objeto instanciado.
Ejemplo de Salida Esperada
run: Introduce el número de alumnos: 5 Introduce la edad de los 5 alumnos: Alumno 1 20 Alumno 2 18 Alumno 3 17 Alumno 4 22 Alumno 5 19 La edad mínima es: 17 Las edades ordenadas de los alumnos son: [ 17 18 19 20 22 ] La edad media es: 19.2
Código Fuente: MiEdad.java
Nota: Se corrigieron errores de sintaxis y formato en las cadenas de texto y llamadas a métodos.
import java.util.Scanner;
public class MiEdad {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
System.out.println("Introduce el número de alumnos:");
int tamaño = teclado.nextInt();
int[] vector = new int[tamaño];
System.out.println("Introduce la edad de los " + tamaño + " alumnos: ");
for (int i = 0; i < vector.length; i++) {
System.out.println("Alumno " + (i + 1));
vector[i] = teclado.nextInt();
}
// 1. Llamada al método mínimo() y obtención del valor mínimo
// Importante: El método mínimo() ordena el array 'vector' in situ.
System.out.println("La edad mínima es: " + Edad.mínimo(vector));
// 2. Instanciación de la clase Edad
Edad alumnos = new Edad(vector);
// 3. Impresión del array ordenado (ya ordenado por la llamada anterior)
System.out.println("Las edades ordenadas de los alumnos son:");
alumnos.imprimirArray();
// 4. Impresión de la edad media
System.out.println("La edad media es: " + alumnos.get());
teclado.close();
}
}