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_VALUE como valor inicial del máximo
  • Integer.MAX_VALUE como 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