Autor
|
Tema: Fallo en inicializar matriz (Leído 1,696 veces)
|
BJM
Desconectado
Mensajes: 41
|
package matriz; import java.util.Scanner; public class Matriz { public static void main (String[] args ) { Scanner x = new Scanner (System. in); int m = 0,n = 0, i=0,j=0,a=0,b=0, c=0, d=0; int multi; int M[][] = new int[m][n]; int N[][] = new int[a][b]; System. out. println(" DIMENSIONES DE LA MATRIZ 1 "); System. out. println(" FILAS M[*][]: "); m = x.nextInt(); System. out. println(" COLUMNAS M[][*]: "); n = x.nextInt(); System. out. println(" LLENADO DE LA MATRIZ 1: "); for (i=0 ; i<m;i++){ for(j=0;j<n;j++){ System. out. print(" Valor ["+(i +1)+"]["+(j +1)+"]: "); M[i][j]= x.nextInt(); } } System. out. println(" DIMENSIONES DE LA MATRIZ 2 "); System. out. println(" FILAS M[*][]: "); a = x.nextInt(); System. out. println(" COLUMNAS M[][*]: "); b = x.nextInt(); System. out. println(" LLENADO DE LA MATRIZ 2: "); for (c=0 ; c<a;c++){ for(d=0;d<b;d++){ System. out. println(" Valor ["+(c +1)+"]["+(d +1)+"]: "); N[c][d]= x.nextInt(); } } multi =M[i][j] * N[c][d]; System. out. println(" Multiplicacion de las matrices: "+multi ); } }
En esta linea M [j]= x.nextInt(); Netbeans me muestra el siguiente mensaje: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 Valor [1][1]: at matriz.Matriz.main(Matriz.java:25) Java Result: 1
|
|
|
En línea
|
|
|
|
gordo23
Desconectado
Mensajes: 38
|
Ese error significa que estás intentando entrar a un indice que no se encuentra en la matriz, por ejemplo, si la matriz tiene tamaño [1][1] y vos querés entrar al [2][2], netbeans te larga ese error.
Ahora pasemos a porque te da ese error:
Si te fijas bien, inicializas las variables "m" y "n" en la linea 12, luego creas la matriz en la linea 14 con los valores que tienen "m" y "n" hasta el momento, es decir, 0 para "m" y 0 para "n".
Luego le pedis al usuario que ingrese el tamaño de la matriz, por lo que cambias a "m" y "n" a valores como 5 y 4.
Y por último, cuando recorres la matriz en los ciclos for de la linea 22 y 23, estas comparando la variable "i" con la variable "m", que tiene valor 5, muy diferente al tamaño real de la matriz que es 0. ¿me explico?
Por lo que, lo único que tenés que hacer es crear las matrices LUEGO de pedir los datos al usuario.
Si no entendiste avisame e intento explicarlo de otra forma. Saludos y suerte.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Inicializar matriz?
« 1 2 »
Java
|
monsefoster
|
10
|
8,661
|
18 Noviembre 2009, 06:06 am
por juancho77
|
|
|
Declarar e inicializar matriz de objetos
Java
|
alzehimer_cerebral
|
1
|
5,240
|
17 Noviembre 2009, 19:07 pm
por Leyer
|
|
|
Dudita: Inicializar matriz desde función sin punteros, si es posible.
Programación C/C++
|
leosansan
|
2
|
2,233
|
23 Diciembre 2013, 18:47 pm
por leosansan
|
|
|
Inicializar una matriz
Programación C/C++
|
JonaLamper
|
2
|
1,786
|
7 Marzo 2016, 07:04 am
por furciorifa
|
|
|
como inicializar una matriz char**
Programación C/C++
|
sebapoli00
|
5
|
2,252
|
3 Abril 2019, 17:44 pm
por K-YreX
|
|