java.lang.ArrayIndexOutOfBoundsException en funcion

Iniciado por juligarc10, 18 Septiembre 2019, 13:58 PM

0 Miembros y 1 Visitante están viendo este tema.

juligarc10

Hola amigos, estoy realizando un pequeño ejercicio donde intento comprobar si una matriz cualquiera es cuadrada, es decir, que tiene tantas filas como columnas. Para ello he diseñado un algoritmo, pero al ejecutarlo me da esa excepción. No consigo ver en que momento me salgo fuera del array. Aquí les dejo el código:

public  static  boolean  isSquare(int [][] a) {
        boolean cuadrado=true;
        int p=0;
        while(cuadrado==true&&p<=a.length){
            if(a[p].length==a.length){
                p++;
            }
            else{
                cuadrado=false;
            }
        }
        return cuadrado; 
    }


Gracias de antemano

K-YreX

Si tu matriz tiene por ejemplo un tamaño de 5x5, los índices van de 0 a 4. Por lo que en la condición del while es: p < a.length (sobra el =).
Código (cpp) [Seleccionar]

cout << "Todos tenemos un defecto, un error en nuestro código" << endl;

juligarc10

Muchas gracias!!

No caía  :rolleyes: . Gracias por tu ayuda amigo!