Resumen: mostrar cómo obtener el mayor de 3 números y el menor de 3 números en Java. Con este enfoque podríamos obtener el mayor y menor de 3 números, de 4 números, 5, etcétera.
Para esto vamos a usar arreglos, ciclos y condicionales. Verás que todo será muy fácil de entender.
El problema
Podríamos usar simples if
como cuando obtuvimos el menor y mayor de 2 números, pero ahora la complejidad crece. Además, con lo que mostraré podremos comparar más de 3 números.
La solución es colocar los números dentro de un arreglo, suponer que el mayor es el primer elemento del array, recorrerlo y en cada paso comparar si el número actual es mayor que el actualmente mayor; en caso de que sí, ahora mayor es el número actual.
Lo mismo hacemos para el número menor.
Por cierto, el ciclo comienza en 1 porque aunque los arreglos comienzan en 0, el 0 ya está contemplado debido a que suponemos que el mayor o menor es el primer elemento.
Mayor y menor de 3 números en Java
Como lo dije, ambos métodos son parecidos.
Mayor de 3 números
El código queda como se ve a continuación:
int numeros[] = {2, 51, 33};
int mayor = numeros[0];//Suponemos que el mayor es el primero
// Ciclo comienza en 1 porque el 0 ya está contemplado
for (int x = 1; x < numeros.length; x++) {
int numeroActual = numeros[x];
if (numeroActual > mayor) {
mayor = numeroActual;
}
}
System.out.printf("Mayor: %d", mayor);
Aunque la suposición esté equivocada, se rectificará con el ciclo. Así se irá comparando número con número. Si hay dos números iguales, no hay problema.
Menor de 3 números
Veamos ahora la otra parte del problema. Solo cambiamos el operador de comparación de >
a <
.
int otrosNumeros[] = {13, 12, 5, 12, 33, 1, 43};
int menor = otrosNumeros[0];//Suponemos que el menor es el primero
// Ciclo comienza en 1 porque el 0 ya está contemplado
for (int x = 1; x < otrosNumeros.length; x++) {
int numeroActual = otrosNumeros[x];
if (numeroActual < menor) {
menor = numeroActual;
}
}
System.out.printf("\nMenor: %d", menor);
Poniendo todo junto
Ahora que he mostrado ambos métodos, veamos el código completo y en acción. Queda así:
/*
* Archivo: MayorMenorTresNumeros.java
* Clase: MayorMenorTresNumeros
* Autor: parzibyte
* Fecha: 12/29/19 7:45 PM
* Visita https://parzibyte.me/blog para más tutoriales sobre Java
*/
public class MayorMenorTresNumeros {
public static void main(String[] args) {
int numeros[] = {2, 51, 33};
int mayor = numeros[0];//Suponemos que el mayor es el primero
// Ciclo comienza en 1 porque el 0 ya está contemplado
for (int x = 1; x < numeros.length; x++) {
int numeroActual = numeros[x];
if (numeroActual > mayor) {
mayor = numeroActual;
}
}
System.out.printf("Mayor: %d", mayor);
int otrosNumeros[] = {13, 12, 5, 12, 33, 1, 43};
int menor = otrosNumeros[0];//Suponemos que el menor es el primero
// Ciclo comienza en 1 porque el 0 ya está contemplado
for (int x = 1; x < otrosNumeros.length; x++) {
int numeroActual = otrosNumeros[x];
if (numeroActual < menor) {
menor = numeroActual;
}
}
System.out.printf("\nMenor: %d", menor);
}
}
El único reto es colocar los números dentro del arreglo, pero eso es cuestión del programador. Del mismo modo podrías escanearlo del usuario usando Scanner en Java.
Al ejecutarlo, el resultado es: