Como somar 2 matrizes?

Alguém pode me ajudar a resolver esse problema?
Não estou conseguindo achar um método para somar as 2 matrizes.

Esse é o método para soma.
public void somar(Matriz matriz1,Matriz matriz2) {
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
result[i][j] = matriz1 + matriz2;
System.out.print(result[i][j] + “\t”);
}
System.out.print("\n");
}
}
“The operator + is undefined for the argument type(s) Matriz,Matriz”

Tanto a matriz 1 quanto a matriz2,são geradas com entradas de dados pelo teclado.

Matriz matriz1 = new Matriz(m, n);
matriz1.lerMatrizA();
matriz1.exibirMatrizA();

Matriz matriz2 = new Matriz(m, n);
matriz2.lerMatrizB();
matriz2.exibirMatrizB();

Bom dia @LSagasan
Teria como postar a classe Matriz, por favor?

Att
Max

Matriz.java (1,5,KB)

Vamos facilitar para os demais amigos do forum:

import java.util.Scanner;

public class Matriz {

	private int m;
	private int n;
	private int i;
	private int j;
	private int a[][];
	private int b[][];
	private int result[][];

	
	
	public Matriz(int l, int c) {
		m = l;
		n = c;
		a = new int[m][n];
		b = new int[m][n];
		result = new int [i][j];
	}

	public void lerMatrizA() {
		Scanner input = new Scanner(System.in);
		for (int i = 0; i < m; i++) {
			for (int j = 0; j < n; j++) {
				System.out.println("Digite o elemento da linha [" + (i + 1) + "] da coluna [" + (j + 1) + "]: ");
				a[i][j] = input.nextInt();
				System.out.println("");
			}
		}
	}

	public void lerMatrizB() {

		Scanner input = new Scanner(System.in);
		for (int i = 0; i < m; i++) {
			for (int j = 0; j < n; j++) {
				System.out.println("Digite o elemento da linha [" + (i + 1) + "] da coluna [" + (j + 1) + "]: ");
				b[i][j] = input.nextInt();
				System.out.println("");
			}
		}
	}

	public void exibirMatrizA() {
		for (int i = 0; i < m; i++) {
			for (int j = 0; j < n; j++) {
				System.out.print(a[i][j] + " ");
			}
			System.out.println("\n");
		}
	}

	public void exibirMatrizB() {
		for (int i = 0; i < m; i++) {
			for (int j = 0; j < n; j++) {
				System.out.print(b[i][j] + " ");
			}
			System.out.println("\n");
		}
	}

	public void somar(Matriz matriz1,Matriz matriz2) {
		for (int i = 0; i < m; i++) {
			for (int j = 0; j < n; j++) {
				result[i][j] = matriz1 + matriz2;
				System.out.print(result[i][j] + "\t");
			}
			System.out.print("\n");
		}
	}
} 

Att
Max

@FacaNaCaveira, tens certeza que esse código roda? Como as matrizes sabem como se somarem? Como somar dois objetos?

Veja:

image

Elas não sabem se somar. Não se pode somar dois objetos (como se fossem números).

Fala ai @Jothar_Aleksander, so fiz a postagem do conteúdo do arquivo que o @LSagasan passou em arquivo anexado no forum. Para os demais companheiros do forum poderem dar uma solução. ja tinha visto que não rodava.

Att
Max

1 curtida

Eu só quero saber se tu testou o código. Você criou uma classe Matriz, então ela deve poder saber como realizar as suas operações.

Contribuindo…
Alterações e teste do código postado pelo @FacaNaCaveira.
Método soma sem parâmetros:

import java.util.Scanner;

public class Matriz {

	private int m;
	private int n;
	private int i;
	private int j;
	private int a[][];
	private int b[][];
	private int result[][];

	
	
	public Matriz(int l, int c) {
		m = l;
		n = c;
		a = new int[m][n];
		b = new int[m][n];
		result = new int [m][n];
	}

	public void lerMatrizA() {
		int l = 0;
		int c = 0;
		Scanner input = new Scanner(System.in);
		for (int i = 0; i < m; i++) {
			for (int j = 0; j < n; j++) {
				System.out.print("Digite o elemento da linha [" + (l++) + "] da coluna [" + (c++) + "]: ");
				a[i][j] = input.nextInt();
				System.out.println("");
			}
		}
	}

	public void lerMatrizB() {
		int l = 0;
		int c = 0;
		Scanner input = new Scanner(System.in);
		for (int i = 0; i < m; i++) {
			for (int j = 0; j < n; j++) {
				System.out.print("Digite o elemento da linha [" + (l++) + "] da coluna [" + (c++) + "]: ");
				b[i][j] = input.nextInt();
				System.out.println("");
			}
		}
	}

	public void exibirMatrizA() {
		System.out.println("Matriz A\n");
		for (int i = 0; i < m; i++) {
			for (int j = 0; j < n; j++) {
				System.out.print(a[i][j] + " ");
			}
			System.out.println("");
		}
	}

	public void exibirMatrizB() {
		System.out.println("\nMatriz B\n");
		for (int i = 0; i < m; i++) {
			for (int j = 0; j < n; j++) {
				System.out.print(b[i][j] + " ");
			}
			System.out.println("");
		}
	}

	public void somar() {
		System.out.println("\n\nSoma A + B\n");
		for (int i = 0; i < m; i++) {
			for (int j = 0; j < n; j++) {
				result[i][j] = a[i][j] + b[i][j];
				System.out.printf("%03d", result[i][j]);
				System.out.print(" ");
			}
			System.out.println("");
		}
	}
	
} 

public class Principal {
	public static void main(String[] args){
		Matriz matriz = new Matriz(2, 2);
		
		matriz.lerMatrizA();
		matriz.lerMatrizB();
		
		matriz.exibirMatrizA();
		matriz.exibirMatrizB();
		
		matriz.somar();
	}
}

Resultado:

Jothar_Aleksander e FacaNaCaveira muito obrigado pela ajuda.Muito obrigado mesmo.VLW!!!