El día de hoy resolveremos un ejercicio de programación en Java en donde tenemos que encontrar el menor y el mayor de una serie de números introducida por el usuario. La solicitud dice así:
Calcula el número más grande y pequeño de los números introducidos por teclado. Acabamos de introducir números cuando el usuario nos introduzca el 0. El 0 no debe tenerse en cuenta, es una marca final.
Entonces mientras el usuario no introduzca un cero debemos agregar los números a una lista, y una vez que encontremos el cero obtenemos el mayor y menor.
Veamos cómo resolver este ejercicio de programación con Java.
Explicación del algoritmo
Vamos a hacer un ciclo infinito que se romperá cuando encontremos un 0. El ciclo será un while(true)
y para romperlo usaremos break
.
Al inicio del ciclo vamos a declarar la lista de números. En este caso por comodidad usaré un ArrayList
.
Mientras el ciclo se esté ejecutando vamos a escanear un número introducido por el usuario y si no es cero lo vamos a agregar al ArrayList. Si es que es cero entonces rompemos el ciclo.
Cuando estemos fuera del ciclo (esto pasará cuando el usuario haya terminado de introducir números) vamos a inicializar nuestro mayor y menor hasta el momento y vamos a suponer que ambos son el primer elemento del ArrayList (solo para inicializar).
Luego recorremos la lista y comparamos cada valor. Si el valor actual es mayor que el mayor hasta el momento, entonces el nuevo valor del mayor es el valor actual. Y lo mismo para el menor.
Máximo y mínimo de serie introducida por usuario en Java
Arriba expliqué el algoritmo, ahora veamos el código. Primero declaramos y llenamos el ArrayList:
Ahora comparamos si la lista tiene elementos (ya que el usuario pudo dejarla vacía):
Y en caso de que no esté vacía buscamos el mayor y menor además de imprimir los resultados:
Poniendo todo junto

El código completo queda como se ve a continuación. Lo he colocado en una función separada para que el código quede mejor ordenado:
Puedes ejecutarlo desde cualquier lugar, por ejemplo, el método main
:
No olvides importar a java.util.Scanner
.
Para terminar te dejo con más tutoriales de Java en mi blog.