Ejercicio 24 – Edad máxima y mínima
Enunciado
Diseñar una aplicación qué permita introducir edades de alumnos una a una. Cuando el usuario escriba -1, el programa finalizará y mostrará:
- La edad máxima registrada
- La edad mínima registrada
Explicación del ejercicio
📌 1. Uso de un valor centinela
El número -1 se usa como señal para detener la lectura del bucle. Es un valor qué nunca será una edad real, por lo qué es seguro utilizarlo para finalizar.
📌 2. Inicialización correcta de máximos y mínimos
Usamos:
Integer.MIN_VALUEcomo valor inicial del máximoInteger.MAX_VALUEcomo valor inicial del mínimo
Así garantizamos qué cualqué edad válida actualizará dichos valores.
📌 3. Actualización dentro del bucle
Cada vez qué se lee una edad, se compara con la máxima y mínima vistas hasta ese momento.
Solución en Java
import java.util.Scanner;
public class Ejercicio24 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int edad;
int edadMaxima = Integer.MIN_VALUE;
int edadMinima = Integer.MAX_VALUE;
System.out.print("Introduce las edades (utiliza -1 para terminar): ");
edad = sc.nextInt();
while (edad != -1) {
// Actualizar máxima
if (edad > edadMaxima) {
edadMaxima = edad;
}
// Actualizar mínima
if (edad < edadMinima) {
edadMinima = edad;
}
// Volver a pedir edad
System.out.print("Introduce una edad (-1 para terminar): ");
edad = sc.nextInt();
}
System.out.println("\nEdad máxima: " + edadMaxima);
System.out.println("Edad mínima: " + edadMinima);
}
}
Ejemplo de ejecución
Introduce las edades (utiliza -1 para terminar): 18
Introduce una edad (-1 para terminar): 22
Introduce una edad (-1 para terminar): 16
Introduce una edad (-1 para terminar): -1
Edad máxima: 22
Edad mínima: 16