En este post vamos a resolver un ejercicio de Java que trata sobre obtener el elemento o número más grande dentro de un arreglo.
Además de ese ejercicio veremos otro para obtener la posición del elemento mayor, es decir, su índice.
Obtener número más grande dentro de arreglo en Java
Simplemente tenemos que definir una variable que tendrá el número mayor, la iniciamos en la posición 0 del arreglo pues asumimos (es decir, suponemos) que esa guarda el valor más grande.
Después definimos y recorremos el arreglo y comparamos la variable mayor
(que era el primer elemento del arreglo) con el elemento actual; si el elemento actual es mayor que la variable, entonces ahora la variable mayor
es el elemento actual.
Al final simplemente imprimimos el número mayor dentro del arreglo de Java.
// Elemento mayor de arreglo en Java
// https://parzibyte.me/blog
class Main {
public static void main(String[] args) {
int[] numeros = new int[] { 28, 50, 40, 200, 20, 44, 100, 153 };
// Asumir que el mayor es el primero
int mayor = numeros[0];
// Recorrer arreglo y ver si no es así
// (comenzar desde el 1 porque el 0 ya lo tenemos contemplado arriba)
for (int x = 1; x < numeros.length; x++) {
if (numeros[x] > mayor) {
mayor = numeros[x];
}
}
System.out.println("El mayor es: " + mayor);
}
}
Como ves, el arreglo no tiene que estar ordenado, puede tener cualquier número de elementos y estar en cualquier orden.
El ciclo se comienza desde 1 porque el 0 ya lo tenemos contemplado al iniciar la variable.
Obtener número mayor e índice
Ahora veamos una pequeña modificación de este algoritmo y es que además del número más grande se necesita su posición.
Por lo tanto no tenemos que declarar la variable mayor, sino simplemente la posición del elemento mayor. Queda así:
// Elemento mayor de arreglo en Java
// https://parzibyte.me/
class Main {
public static void main(String[] args) {
int[] numeros = new int[] { 28, 50, 40, 200, 20, 44, 100, 153 };
// Asumir que el mayor es el primero
int indiceDelMayor = 0;
// Recorrer arreglo y ver si no es así
// (comenzar desde el 1 porque el 0 ya lo tenemos contemplado arriba)
for (int x = 1; x < numeros.length; x++) {
if (numeros[x] > numeros[indiceDelMayor]) {
indiceDelMayor = x;
}
}
// Ahora podemos obtener el mayor usando la posición
int mayor = numeros[indiceDelMayor];
System.out.println("El mayor es: " + mayor + " y se encuentra en el índice " + indiceDelMayor);
}
}
Simplemente comparamos usando el índice en lugar del valor, y al final accedemos a la variable mayor a través del mismo.
Mira más sobre Algoritmos o Java en mi blog.
Amigo pero como harias eso mismo con un foreach??…Saludos
Hola. Si desea ayuda personalizada puede escribirme en https://parzibyte.me/#contacto
Saludos!
Hola muchas gracias !
Gracias a usted por comentar. Saludos!