Boa noite, pessoal
estou fazendo um trabalho técnico e estou travado,insiro duas matrizes,porem na hora da soma ocorre um erro, gostaria de saber como resolver isso. a primeira matriz inserida é identificada como numero 0 e a segunda 1.
[code]package Matriz;
import java.util.ArrayList;
import java.util.Scanner;
public class Principal {
public Principal() {
}
public static void main(String[] args) {
menu();
System.out.printf("\n");
}
public static void menu() {
System.out.println("\tManipução de Matrizes!");
System.out.println("Grupo:Lucas Araujo,Igor Lemos e Homero Costa");
System.out.println("0. Fechar Programa");
System.out.println("1. Operações entre duas Matrizes");
System.out.println("6. Inserir Matrizes");
System.out.println("Opcao:");
int opcao = 99;
int[][] a;
int[][] b;
int num = 0, num2 = 0;
ArrayList<int[][]> matrizes = new ArrayList<int[][]>();
Scanner entrada = new Scanner(System.in);
Scanner ler = new Scanner(System.in);
opcao = entrada.nextInt();
if (opcao != 0) {
String subopcao;
Scanner entrada2;
switch (opcao) {
case 1:
System.out.println("a. Soma");
System.out.println("b. Subtração");
System.out.println("c. Multiplicar");
entrada2 = new Scanner(System.in);
subopcao = entrada2.next();
switch (subopcao) {
case "a":
System.out.println("Quais marizes voce deseja somar ? ");
System.out.println("Numero da primeira matriz: ");
num = ler.nextInt();
System.out.println("Numero da segunda matriz: ");
num2 = ler.nextInt();
a = matrizes.get(num);
b = matrizes.get(num2);
soma(a, b);
menu();
break;
case "b":
menu();
break;
case "c":
menu();
break;
}
menu();
break;
case 6:
System.out.println("a. Manualmente");
entrada2 = new Scanner(System.in);
subopcao = entrada2.next();
switch (subopcao) {
case "a":
int i,
j,
linhas,
colunas,
numero;
System.out.println("Primeira matriz:\n");
System.out.println("Digite o numero de linhas");
linhas = ler.nextInt();
System.out.println("Digite o numero de colunas");
colunas = ler.nextInt();
int m[][] = new int[linhas][colunas];
for (i = 0; i < linhas; i++) {
for (j = 0; j < colunas; j++) {
m[i][j] = 0;
}
}
for (i = 0; i < linhas; i++) {
for (j = 0; j < colunas; j++) {
System.out.printf("m[%d][%d] = ", i, j);
m[i][j] = ler.nextInt();
}
}
matrizes.add(m);
menu();
break;
}
}
}
}
static void soma(int[][] m, int[][] m2) {
int i, j;
int a, b;
a = m.length;
b = m[0].length;
int result[][] = new int[a][b];
for (i = 0; i < a; i++) {
for (j = 0; j < b; j++) {
result[i][j] = m[i][j] + m2[i][j];
System.out.printf("[%d][%d] = %d ", i, j, result[i][j]);
}
}
}
}[/code]
Obrigado