Artículos
Java

Número mayor y menor en una matriz

08/Feb/2021

Atendiendo a una de las numerosas peticiones que nos hacéis en los comentarios hoy vamos a ver cómo podemos calcular el número mayor y menor en una matriz además de su posición con Java.

Lo primero de todo será crear una matriz con los números. Hay que recordar que una matriz es un array de arrays la cual podemos inicializar de la siguiente manera:

int[][] matriz = {{29,23,13},{41,57,69},{17,28,39}};

Lo siguiente que haremos será definir dos variables en las que indicaremos cuál es el número mayor y cuál es el número menor.

int numeroMayor = matriz[0][0];
int numeroMenor = matriz[0][0];

Por defecto asumimos que el número mayor y el número menor se encuentran en la posición (0,o). Además vamos a crear otras dos variables que almacenen la posición en la que se encuentran almacenados.

String mayorPosicion = "0,0";
String menorPosicion = "0,0";

De igual manera que hacíamos con los números lo hacemos con sus posiciones e indicamos que las posiciones son la 0,0.

Ahora, como ya vimos en el ejemplo imprimir una matriz con Java, vamos a recorrer la matriz con dos bucles for. El primero hasta la longitud del array y el segundo por la longitud de los arrays de cada uno de los elementos del primer array.

La longitud del array la conseguimos mediante el campo .length

El bucle doble nos quedaría de la siguiente forma:

for (int x=0;x<matriz.length;x++) {
  for (int y=0;y<matriz[x].length;y++) {

    // Acción

  }                
}

En cada iteración de los bucles podremos acceder a un elemento mediante las coordenadas x,y.

matriz[x][y]

Por lo que será el punto en el que realicemos las comprobaciones que serán:

  • Si el número evaluado es mayor que el valor de numeroMayor, sustituiremos el valor por el valor actual, así como la variable mayorPosicion.
  • Si el número evaluado es menor que el valor de numeroMenor, sustituiremos el valor por el valor actual, así como la variable menorPosicion.

De esta forma el código nos quedará de la siguiente forma:

for (int x=0;x<matriz.length;x++) {
  for (int y=0;y<matriz[x].length;y++) {

    if (matriz[x][y] > numeroMayor) {
      numeroMayor = matriz[x][y];
      mayorPosicion = x + "," + y;
    }

    if (matriz[x][y] < numeroMenor) {
      numeroMenor = matriz[x][y];
      menorPosicion = x + "," + y;
    }

  }                
}

Una vez que salgamos de los bucles ya tendremos el número mayor y menor en una matriz además de sus posiciones mediante código Java.

Ya solo nos quedará el volcar su contenido a la pantalla mediante un objeto System.out.

System.out.println("El número mayor de la matriz es " + numeroMayor + " en la posición " + mayorPosicion);
System.out.println("El número menor de la matriz es " + numeroMenor + " en la posición " + menorPosicion);

Espero que os haya servido de utilidad el artículo.

Código Fuente

Descárgate el código fuente de Número mayor y menor en una matriz
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Suscribir
Notificar de
guest
5 Comentarios
Recientes
Anteriores Más votados
Opiniones integradas
Ver todos los comentarios