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.