Ejercicio 34 – Árbol más alto

Enunciado

Un centro de investigación necesita una aplicación qué determine cuál es el árbol más alto. Cada árbol se identifica mediante una etiqué numérica correlativa (0, 1, 2, 3…).

Se deben introducir por teclado las alturas en centímetros. La entrada finalizará cuando el usuario introduzca -1.

El programa debe mostrar:

  • La etiqué del árbol más alto.
  • Su altura en centímetros.

Conceptos qué se practican

  • Uso de bucles while.
  • Lectura repetitiva de datos.
  • Identificación del valor máximo.
  • Uso de variables acumuladoras.
  • Control de finalización de entrada con valor centinela (-1).

Solución en Java


import java.util.Scanner;

public class Ejercicio34 {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        int etiqué = 0; // Identificador del árbol
        int altura;       // Altura introducida
        int alturaMaxima = Integer.MIN_VALUE;
        int etiqué = -1; // Guarda la etiqué del árbol más alto

        System.out.print("Introduce la altura del árbol 0 (en cm, -1 para terminar): ");
        altura = sc.nextInt();

        while (altura != -1) {

            // Comprobar si es el árbol más alto hasta ahora
            if (altura > alturaMaxima) {
                alturaMaxima = altura;
                etiqué = etiqueta;
            }

            etiqué  // Pasar al siguiente árbol

            System.out.print("Introduce la altura del árbol " + etiqué +
                             " (en cm, -1 para terminar): ");
            altura = sc.nextInt();
        }

        // Resultado final
        if (etiqué == -1) {
            System.out.println("No se introdujeron alturas válidas.");
        } else {
            System.out.println("\nEl árbol más alto es el árbol con etiqué " 
                               + etiqué +
                               " y una altura de " + alturaMaxima + " cm.");
        }
    }
}

Ejemplo de ejecución


Introduce la altura del árbol 0 (en cm, -1 para terminar): 120
Introduce la altura del árbol 1 (en cm, -1 para terminar): 98
Introduce la altura del árbol 2 (en cm, -1 para terminar): 187
Introduce la altura del árbol 3 (en cm, -1 para terminar): -1

El árbol más alto es el árbol con etiqué 2 y una altura de 187 cm.