Recorrer una matriz con un bucle en Java

Hola a todos, hoy os traigo como podemos recorrer una matriz con un solo bucle.

Hay veces que necesitamos que nuestro programa sea algo más óptimo, un buen consejo que os puedo dar es reducir el número de bucles anidados, por ejemplo al recorrer una matriz.

He usado Java para explicarlo pero también es aplicable a otros lenguajes.

Para recorrer una matriz de forma normal, sería con dos bucles, de esta forma:


public class DobleBucle{
    
    public static void main(String[] args) {
    
        int matriz[][] = 
        {
            {1,2,3},
            {4,5,6},
            {7,8,9}
        };
        
        for (int i = 0; i < matriz.length; i++) {
            for (int j = 0; j < matriz[0].length; j++) {
                System.out.println(matriz[i][j]);
            }
        }
        
        
    }
    
    
    
}

Aquí os dejo el código en Java con un for:


public class UnBucle{

    public static void main(String[] args) {

        int matriz[][]
                = {
                    {1, 2, 3},
                    {4, 5, 6},
                    {7, 8, 9}
                };

        for (int i = 0, j = 0; i < matriz.length;) {

            System.out.println(matriz[i][j]);

            if (j == matriz[0].length - 1) {
                i++;
                j = 0;
            } else {
                j++;
            }

        }

    }

}

Si acaso no os gusta con un for, con un while se haría asi:


public class JavaApplication273 {

    public static void main(String[] args) {

        int matriz[][]
                = {
                    {1, 2, 3},
                    {4, 5, 6},
                    {7, 8, 9}
                };

        int i = 0, j = 0;
        while (i < matriz.length) {

            System.out.println(matriz[i][j]);

            if (j == matriz[0].length - 1) {
                i++;
                j = 0;
            } else {
                j++;
            }

        }

    }

}

Si lo queréis en otro lenguaje, solo es cuestión de adaptarlo.

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Etiquetas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *