Si me sale el menu, me pregunta sobre el numero de columnas y renglones, despues me lee las dos matrices pero no me imprime la suma de ellas.
Esto es lo que me sale:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at Matriz.matrizsuma<PPMatriz.java:51>
at PPMatriz.main<PPMatriz.java:120>
Y la verdad no entiendo, pense que tal ves seria por el nombre de la clase pero no lo es. Este es el codigo:
import java.util.*;
class Matriz{
int[ ][ ]y;
Scanner in= new Scanner(System.in);
public Matriz(int r, int c){
y= new int[r][c];
}
public Matriz() {
}
public void llenaMatriz(int [ ][ ]y){
int i,j;
System.out.println("\nLeyendo Matriz...\n");
for (i=0; i<y.length;i++)
for (j=0; j<y[i].length; j++) {
System.out.print("Dame el elemento["+i+"]["+j+"]: ");
y[i][j] = in.nextInt();
}
}
public int obtenElemento(int i, int j){
return y[i][j];
}
public int asignaElemento(int i, int j, int valor){
return y[i][j]=valor;
}
public int[][] matrizsuma(int [ ][ ] y, int [ ][ ]z,int [ ][ ]u){
int i,j;
for (i=0; i<y.length;i++){
for (j=0; i<y[0].length; j++)
u[i][j]=this.asignaElemento(i,j,y[i][j]+this.obtenElemento(i,j));
}return u;
}
public void imprimeMatriz(int [ ][ ]matriz){
int i,j;
System.out.println("\n Imprimiendo Matriz: \n");
for (i=0; i<y.length;i++){
for (j=0; i<y[0].length; j++)
System.out.print(matriz[i][j]+"");
System.out.println();
}
}
}
public class PPMatriz{
public static void menu(){
System.out.println("\n\t\t\t * M E N U * ");
System.out.println("============================== ==================================");
System.out.println("[1] Suma");
System.out.println("[0] Salir");
System.out.print("Teclea la opcivõn deseada: ");
}
public static void main (String[ ]args){
Scanner in = new Scanner(System.in);
int r,c, option, sum, rest, multi, tras, deter, inv;
boolean seguir;
String entrada;
seguir = true;
do{
menu();
option = in.nextInt();
switch(option){
case 1: System.out.print("Dame el num. de renglones: ");
r = in.nextInt();
System.out.print("Dame el num. de columnas: ");
c = in.nextInt();
int [][]n2=new int[r][c];
int [ ][ ]n1=new int[r][c];
Matriz x=new Matriz(r,c);
Matriz z=new Matriz(r,c);
int [ ][ ]n3=new int[r][c];
x.llenaMatriz(n2);
z.llenaMatriz(n1);
n3=x.matrizsuma(n1,n2,n3);
x.imprimeMatriz(n3);
case 0: seguir = false;
break;
default: System.out.println("Error 4440: Teclea una opcion valida");
}
} while(seguir);
}
}






Mode Lineal
