Operação com 2 matrizes

25 respostas
M

Considere o seguinte trecho de código

import java.util.Scanner;

public class Matriz {
	private double mat[][];
	private int m;
	private int n;
			
	public Matriz (int l, int c){
		m = l;
		n = c;
		mat = new double [m][n];
	}
	
	public void lerMatriz(){
		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) + "]: ");   
                mat[i][j] = input.nextInt();   
                System.out.println("");   
            }   
        }  
	}
		
	public void exibirMatriz(){
			
		for (int i = 0; i < m; i++) {   
	           for (int j = 0; j < n; j++) {   
	            System.out.print(mat[i][j] + "   ");   
	            }   
	            System.out.println("\n");   
	        }   
		}
	
	public double[][] somar(double[][] matrizParaSomar){
		
		double[][] novaMatriz = new double[m][n];
		for (int i = 0; i < m; i++) {   
	           for (int j = 0; j < n; j++) { 
		
	novaMatriz[i][j] = mat[i][j] + matrizParaSomar[i][j];
	
	
	           }
		}
		return novaMatriz;
	}

Como poderia ser feita a chamada do método somar() para imprimir o resultado da soma de 2 matrizes ??

Abraços…

25 Respostas

victorwss

Provavelmente no seu método main.

Hmm, ao invés de:public double[][] somar(double[][] matrizParaSomar){ Usepublic Matriz somar(Matriz matrizParaSomar){ Embora dentro do método fique um pouquinho mais chato o código, fora dele vai ficar bem melhor, mais simples e mais fácil de usar.

M

victorwss, minha classe main ficou dessa forma!

Como poderei fazer a chamada do método somar() aqui??

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		int m;
		int n;
		int x;
		double[][] novaMatriz;
		Scanner input = new Scanner(System.in);
		
		
		
		System.out.println("Informe a operação que será realizada\n\n1 - soma de 2 matrizes\n2 - subtração de 2 matrizes\n3 - multiplicação de 2 matrizes\n4 - determina a tranposta de 1 matriz\n5 - sair\n\n");
		x = input.nextInt();
		
		
		
		if (x == 5){
			System.exit(0);
		}
		
		else if (x == 4){		
		System.out.println("Digite o número de linhas da Matriz: ");
		 m = input.nextInt();
		 
		System.out.println("Digite o número de colunas da Matriz: ");
		n = input.nextInt();
		
		}
		
		else if (x == 1 || x == 2){
			System.out.println("Digite o número de linhas das Matrizes: ");
			 m = input.nextInt();
			 
			System.out.println("Digite o número de colunas das Matrizes: ");
			n = input.nextInt();
			
			System.out.println("Digite os elementos da 1ª matriz: ");
			
			Matriz matriz1 = new Matriz( m, n);
			matriz1.lerMatriz();
			matriz1.exibirMatriz();
			
			System.out.println("Digite os elementos da 2ª matriz: ");
									 
						
			
			
			
		}
		
		else if (x == 3 ){
			System.out.println("Digite o número de linhas da 1ª Matriz: ");
			 m = input.nextInt();
			 
			System.out.println("Digite o número de colunas da 1ª Matriz: ");
			n = input.nextInt();
			
			Matriz matriz1 = new Matriz( m, n);
			matriz1.lerMatriz();
			matriz1.exibirMatriz();
						
			 System.out.println("Digite o número de linhas da 2ª Matriz: ");
			 m = input.nextInt();
			 
			 System.out.println("Digite o número de colunas da 2ª Matriz: ");
			 n = input.nextInt(); 
			 
			 }		
	}
}
victorwss

Se você mudar o retorno e o parâmeto do método somar como eu lhe disse, vai ficar assim:

Matriz m1 = new Matriz(m, n); m1.lerMatriz(); Matriz m2 = new Matriz(m, n); m2.lerMatriz(); Matriz m3 = m1.somar(m2);
Se você trabalhar um pouco o código - transformando o método lerMatriz em um método estático que cria uma Matriz - seu código ficaria ainda melhor:

Matriz m1 = Matriz.lerMatriz(m, n); Matriz m2 = Matriz.lerMatriz(m, n); Matriz m3 = m1.somar(m2);

EDIT: Depois, que matar o negócio do cálculo das matrizes, troque a sua classe main “linguição” por uma telinha swing. Você vai aprender bastante fazendo isso.

M

victorwss, quando vc fala em transformar o método lerMatriz em um método estático que cria uma Matriz, não entendo como poderia ser feito isso!!

public Matriz somar(Matriz matrizParaSomar){   
		
		??????????????????????????????	
	
	           }

Abraços…

victorwss
public Matriz somar(Matriz matrizParaSomar){  
    Matriz novaMatriz = new Matriz(m, n);  
    for (int i = 0; i < m; i++) {     
        for (int j = 0; j < n; j++) {   
            novaMatriz.mat[i][j] = this.mat[i][j] + matrizParaSomar.mat[i][j];  
        }  
    }  
    return novaMatriz;  
}

public static Matriz lerMatriz(int m, int n) {
    Matriz matriz = new Matriz(m, n);
    matriz.lerMatriz();
    return matriz;
}
Viu, simples! Não precisou mudar quase nada no código e ele já fica muito mais fácil de usar. :D
M

Poxa victorwss com esse método estático ficou muito mais fácil mesmo!
Vlw amigo
Obrigado

Abraços…

Ahh, ainda tenho que escrever o método multiplicar(), tenho que respeitar aquelas restrições de multiplicação que fala que para multiplicar 2 matrizes o número de colunas da primeira deve necessariamente ser igual o número de linhas da segunda!!

Vc poderia me passar dicas de implementação deste método ?

Abraços…

Ironlynx

Mec?ico, já que você ficou empolgado com o estudo de matrizes, dá uma olhada nesse tópico:
http://www.guj.com.br/posts/list/15/85824.java
Mais precisamente na classe MatrizUtils do Dieval Guizelini. Leia-a com bastante atenção, que você vai gostar e aprender bem. :smiley:

victorwss

Mec?ico:
Poxa victorwss com esse método estático ficou muito mais fácil mesmo!
Vlw amigo
Obrigado

Abraços…

Ahh, ainda tenho que escrever o método multiplicar(), tenho que respeitar aquelas restrições de multiplicação que fala que para multiplicar 2 matrizes o número de colunas da primeira deve necessariamente ser igual o número de linhas da segunda!!

Vc poderia me passar dicas de implementação deste método ?

Abraços…

Vou dar as dicas no método somar. Daí você acha as do multiplicar facinho.
No começo do método somar, coloque isso:if (this.m != matrizParaSomar.m) { throw new IllegalArgumentException("O número de linhas das duas matrizes deve ser igual."); } if (this.n != matrizParaSomar.n) { throw new IllegalArgumentException("O número de colunas das duas matrizes deve ser igual."); }Com isso você consegue fazer a restrição do método multiplicar facilmente.
Uma dica: Mude o nome dos atributos m e n para qtdLinhas e qtdColunas, para ficar mais fácil entender o código.
Quanto ao IllegalArgumentException, você o lança sempre que o seu método receber um conjunto de parâmetros inválidos. Por exemplo, se o construtor da matriz for chamado com o tamanho da matriz negativo, seria bom você lançar isso.
Por fim, bem vindo ao tratamento de exceções. Não se esqueça de dar uma estudada no try-catch, para saber como capturar e tratar os erros.

M

Vlw victorwss , mas olha sóh, pq não tah compilando ?

import java.util.Scanner;

public class Matriz {
	private double mat[][];
	private int m;
	private int n;
			
	public Matriz (int l, int c){
		m = l;
		n = c;
		mat = new double [m][n];
	}
	
	public static Matriz lerMatriz(int m, int n) {   
	    Matriz matriz = new Matriz(m, n);   
	    matriz.lerMatriz();   
	    return matriz;   
	}  
	
	public void lerMatriz(){
		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) + "]: ");   
                mat[i][j] = input.nextInt();   
                System.out.println("");   
            }   
        }  
	}
		
	public void exibirMatriz(){
			
		for (int i = 0; i < m; i++) {   
	           for (int j = 0; j < n; j++) {   
	            System.out.print(mat[i][j] + "   ");   
	            }   
	            System.out.println("\n");   
	        }   
		}
	
	public Matriz somar(Matriz matrizParaSomar){   
	
	Matriz novaMatriz = new Matriz[m][n];             // Aqui dá o seguinte erro: type mismatch:
	           for (int i = 0; i < m; i++) {                  //cannot convert from Matriz[][] to Matriz
	           for (int j = 0; j < n; j++) { 
	
	        novaMatriz.mat[i][j] = this.mat[i][j] + matrizParaSomar.mat[i][j]; 
	
	        }
		}
		
		return novaMatriz;
	}
	
/*	public void somarEAtribuir(){
		

			
	}
	
	public Matriz subtrair(){
		
		
		
	}
	
	public void subtrairEAtribuir(){
		
	
		
	}
	
	public Matriz multiplicar(){
		
	
		
	}
	
	public void copiar(){
		
	
		
	}
	
	public Matriz obterTransposta(){
		
	
		
	}
	
	*/
}
victorwss

Não é new Matriz[m][n] e sim new Matriz(m, n).

M

Vlw[b]victorwss[\b], Obrigado mesmo
Agora compilo

Abraços…

Tem outras sugestões para este código ? , apesar de ainda não estar pronto, sugestões para facilitar a leitura serão muito bem vindas!!

Segue a Classe Main que irá realizar as tarefas desse programa. SUGESTÕES…

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		int m;
		int n;
		int x;
		
		Scanner input = new Scanner(System.in);
						
		System.out.println("Informe a operação que será realizada\n\n1 - soma de 2 matrizes\n2 - subtração de 2 matrizes\n3 - multiplicação de 2 matrizes\n4 - determina a tranposta de 1 matriz\n5 - sair\n\n");
		x = input.nextInt();
		
				
		if (x == 5){
			System.exit(0);
		}
		
		else if (x == 4){		
		System.out.println("Digite o número de linhas da Matriz: ");
		 m = input.nextInt();
		 
		System.out.println("Digite o número de colunas da Matriz: ");
		n = input.nextInt();
		
		Matriz matriz1 = new Matriz( m, n);
		matriz1.lerMatriz();
		//matriz1.exibirMatriz();
		}
		
		else if (x == 1 || x == 2){
			System.out.println("Digite o número de linhas das Matrizes: ");
			 m = input.nextInt();
			 
			System.out.println("Digite o número de colunas das Matrizes: ");
			n = input.nextInt();
			
			System.out.println("Digite os elementos da 1ª matriz: ");
			
			Matriz matriz1 = new Matriz( m, n);
			matriz1.lerMatriz();
			matriz1.exibirMatriz();
			
			System.out.println("Digite os elementos da 2ª matriz: ");
									 
			//Matriz matriz2 = new Matriz( m, n);
			//matriz2.lerMatriz();
			//matriz2.exibirMatriz();
			
			
			
			
		}
		
		else if (x == 3 ){
			System.out.println("Digite o número de linhas da 1ª Matriz: ");
			 m = input.nextInt();
			 
			System.out.println("Digite o número de colunas da 1ª Matriz: ");
			n = input.nextInt();
			
			Matriz matriz1 = new Matriz( m, n);
			matriz1.lerMatriz();
			matriz1.exibirMatriz();
						
			 System.out.println("Digite o número de linhas da 2ª Matriz: ");
			 m = input.nextInt();
			 
			 System.out.println("Digite o número de colunas da 2ª Matriz: ");
			 n = input.nextInt(); 
			 
			 //Matriz matriz2 = new Matriz( m, n);
			 //matriz2.lerMatriz();
			 //matriz2.exibirMatriz();
		}		
	}
}

Abraços…

victorwss

Pega o conteúdo de cada if e separa cada um em um método a parte. Assim o seu método main fica mais limpo e cada operação fica independente do main.
Tente evitar códigos repetidos. Em vez de repetir códigos, crie métodos a parte que façam o trabalho que iria se repetir e chame esse método de todos os lugares necessários. Assim, se precisar mexer neste código, você só mexe em um lugar. Além disso, o código fica menor e mais simples. É extamente isso que está por trás daquele public static Matriz lerMatriz(int m, int n). O trabalho repetitivo (criar a matriz e ler os valores em seguida) foi isolado em um método a parte.

M

victorwss , pensei em fazer isso, mas veja que cada pergunta muda em cada if (nem que seja a palavra indo para o plural)!!

Daí acho que nem tem como utilizar métodos para chamar essas “Perguntas ao usuário”

Vc tem alguma sugestão, pois não consigo enxergar outra saída.

Abraços…

Vlw pelas sugestões victorwss

M

victorwss, o método somarEAtribuir() deverá somar duas matrizes (o objeto utilizado na chamada do método e o objeto passado como parâmetro) e o resultado deverá ser armazenado no objeto utilizado na chamada do método.

Não entendi isso !! como poderei fazer isso, vc poderia me esclarecer passando o código se necessário também !

Abraços…

victorwss
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		int x;
		
		Scanner input = new Scanner(System.in);
						
		System.out.println("Informe a operação que será realizada\n\n1 - soma de 2 matrizes\n2 - subtração de 2 matrizes\n3 - multiplicação de 2 matrizes\n4 - determina a tranposta de 1 matriz\n5 - sair\n\n");
		x = input.nextInt();
		
				
		if (x == 5){
			System.exit(0);
		} else if (x == 4){		
		    transposta();
		} else if (x == 1) {
		    soma();
		} else if (x == 2) {
		    subtracao();
		} else if (x == 3) {
		    multiplicacao();
		}
	}

	private static void soma() {
		...
	}

	private static void subtracao() {
		...
	}

	private static void multiplicacao() {
		...
	}

	private static void transposta() {
		...
	}

	private static Matriz lerMatrizDoUsuario(int num) {
		System.out.println("Digite o número de linhas da " + num + "ª Matriz: ");
		int m = input.nextInt();

		System.out.println("Digite o número de colunas da " + num + "ª Matriz: ");
		int n = input.nextInt();

		return Matriz.lerMatriz(m, n);
	}
}

O somarEAtribuir() é quase igual ao somar. Só tem 3 diferenças:
1) Ele não cria uma nova matriz.
2) Ele soma os valores em si próprio. (dica, use o operador +=)
3) Ele retorna this.

M

victorwss , como vc conseguiu chamar o método somar() da classe Matriz a partir da classe Main para rodar o programa??

Abraços…

M

victorwss , [i]quando chamei o método somar() da Classe Matriz a partir da Classe Main deu erro na Compilação ?

Você conseguiu ?

Abraços…

victorwss

Mostre o erro de compilação.

M

Aí está o erro de compilação !

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		int m;
		int n;
		int x;
		
		Scanner input = new Scanner(System.in);
						
		System.out.println("Informe a operação que será realizada\n\n1 - soma de 2 matrizes\n2 - subtração de 2 matrizes\n3 - multiplicação de 2 matrizes\n4 - determina a tranposta de 1 matriz\n5 - sair\n\n");
		x = input.nextInt();
		
		if (x == 5){   
            System.exit(0);   
        } else if (x == 4){       
            transposta();   
        } else if (x == 1) {   
            soma();   
        } else if (x == 2) {   
            subtracao();   
        } else if (x == 3) {   
            multiplicacao();   
        }   
    }   
  
    private static void soma() {
    	Matriz matriz = new Matriz(m,n);                                //Erro de compilaçao aqui !
    	matriz.somar(matrizParaSomar);                                   
    	matriz.exibirMatriz();
    	               
    }   
  
    private static void subtracao() {   
           
    }   
  
    private static void multiplicacao() {   
           
    }   
  
    private static void transposta() {   
           
    }   
  
    private static Matriz lerMatrizDoUsuario(int num) {   
    	
    	Scanner input = new Scanner(System.in);
    	
        System.out.println("Digite o número de linhas da " + num + "ª Matriz: ");   
        int m = input.nextInt();   
  
        System.out.println("Digite o número de colunas da " + num + "ª Matriz: ");   
        int n = input.nextInt();   
  
        return Matriz.lerMatriz(m, n);   
    }   
}

Abraços…

victorwss

private static void soma() { Matriz matriz = lerMatrizDoUsuario(1); Matriz matrizParaSomar = lerMatrizDoUsuario(2); Matriz resposta = matriz.somar(matrizParaSomar); resposta.exibirMatriz(); } }

M

victorwss, no caso do método somar(), o programa deverá solicitar as dimensões das matrizes apenas uma vez(afinal esta é a única forma de somar matrizes).

considerando estes métodos, qual seria a alteração a ser realizada no programa ?

Abraços…

victorwss

private static void soma() { Matriz matriz = lerMatrizDoUsuario(1); Matriz matrizParaSomar = Matriz.lerMatriz(matriz.getQtdLinhas(), matriz.getQtdColunas()); Matriz resposta = matriz.somar(matrizParaSomar); resposta.exibirMatriz(); } }Você vai precisar criar os métodos getQtdLinhas() e getQtdColunas() na classe Matriz.

M

victorwss, As classes ficaram assim, porém, está dando erro de exceção !! Confira
Classe Matriz

import java.util.Scanner;

public class Matriz {
	private double mat[][];
	private int m;
	private int n;
	private int qtdLinhas;
	private int qtdColunas;
			
	public Matriz (int l, int c){
		m = l;
		n = c;
		mat = new double [m][n];
	}
		
	public int getQtdLinhas() {
		return qtdLinhas;
	}

	public void setQtdLinhas(int qtdLinhas) {
		this.qtdLinhas = qtdLinhas;
	}

	public int getQtdColunas() {
		return qtdColunas;
	}

	public void setQtdColunas(int qtdColunas) {
		this.qtdColunas = qtdColunas;
	}

	public static Matriz lerMatriz(int m, int n) {   
	    Matriz matriz = new Matriz(m, n);   
	    matriz.lerMatriz();   
	    return matriz;   
	}  
	
	public void lerMatriz(){
		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) + "]: ");   
                mat[i][j] = input.nextInt();   
                System.out.println("");   
            }   
        }  
	}
		
	public void exibirMatriz(){
			
		for (int i = 0; i < m; i++) {   
	           for (int j = 0; j < n; j++) {   
	            System.out.print(mat[i][j] + "   ");   
	            }   
	            System.out.println("\n");   
	        }   
		}
	
	public Matriz somar(Matriz matrizParaSomar){   
		
		Matriz novaMatriz = new Matriz(m, n);
		for (int i = 0; i < m; i++) {   
	           for (int j = 0; j < n; j++) { 
	
	        novaMatriz.mat[i][j] = this.mat[i][j] + matrizParaSomar.mat[i][j]; 
	
	        }
		}
		
		return novaMatriz;
	}
	
/*	public void somarEAtribuir(){
		

			
	}
	
	public Matriz subtrair(){
		
		
		
	}
	
	public void subtrairEAtribuir(){
		
	
		
	}
	
	public Matriz multiplicar(){
		
	
		
	}
	
	public void copiar(){
		
	
		
	}
	
	public Matriz obterTransposta(){
		
	
		
	}
	
	*/
}

Classe Main

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		int m;
		int n;
		int x;
		
		Scanner input = new Scanner(System.in);
						
		System.out.println("Informe a operação que será realizada\n\n1 - soma de 2 matrizes\n2 - subtração de 2 matrizes\n3 - multiplicação de 2 matrizes\n4 - determina a tranposta de 1 matriz\n5 - sair\n\n");
		x = input.nextInt();
		
		if (x == 5){   
            System.exit(0);   
        } else if (x == 4){       
            transposta();   
        } else if (x == 1) {   
            soma();   
        } else if (x == 2) {   
            subtracao();   
        } else if (x == 3) {   
            multiplicacao();   
        }   
    }   
  
    private static void soma() {
    	Matriz matriz = lerMatrizDoUsuario(1);   
        Matriz matrizParaSomar = Matriz.lerMatriz(matriz.getQtdLinhas(), matriz.getQtdColunas());   
        Matriz resposta = matriz.somar(matrizParaSomar);   
        resposta.exibirMatriz();   
    }   
  
    private static void subtracao() {   
           
    }   
  
    private static void multiplicacao() {   
           
    }   
  
    private static void transposta() {   
           
    }   
  
    private static Matriz lerMatrizDoUsuario(int num) {   
    	
    	Scanner input = new Scanner(System.in);
    	
        System.out.println("Digite o número de linhas da " + num + "ª Matriz: ");   
        int m = input.nextInt();   
  
        System.out.println("Digite o número de colunas da " + num + "ª Matriz: ");   
        int n = input.nextInt();   
  
        return Matriz.lerMatriz(m, n);   
    }   
}

[i]Sabe o porquê do comportamento do erro ?
Abraços…

victorwss

Ou você usa os atributos m e n, ou usa qtdLinhas e qtdColunas. Misturá-los não dá certo.

Eu tinha dito para você mudar o nome dos atributos m e n para qtdLinhas e qtdColunas, e não para criar dois novos atributos!

M

Como fazer para que quando for invocado o método somar(), o programa solicite as dimensões das matrizes apenas uma vez, ou seja," Digite o número de linhas das matrizes "…“Digite o número de colunas das matrizes”

Classe Matriz

import java.util.Scanner;

public class Matriz {
	private double mat[][];
	private int m;
	private int n;
				
	public Matriz (int l, int c){
		m = l;
		n = c;
		mat = new double [m][n];
	}
	
	public int getM() {
		return m;
	}

	public void setM(int m) {
		this.m = m;
	}

	public int getN() {
		return n;
	}

	public void setN(int n) {
		this.n = n;
	}

	public static Matriz lerMatriz(int m, int n) {   
	    Matriz matriz = new Matriz(m, n);   
	    matriz.lerMatriz();   
	    return matriz;   
	}  
	
	public void lerMatriz(){
		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) + "]: ");   
                mat[i][j] = input.nextInt();   
                System.out.println("");   
            }   
        }  
	}
		
	public void exibirMatriz(){
			
		for (int i = 0; i < m; i++) {   
	           for (int j = 0; j < n; j++) {   
	            System.out.print(mat[i][j] + "   ");   
	            }   
	            System.out.println("\n");   
	        }   
		}
	
	public Matriz somar(Matriz matrizParaSomar){   
		
		Matriz novaMatriz = new Matriz(m, n);
		for (int i = 0; i < m; i++) {   
	           for (int j = 0; j < n; j++) { 
	
	        novaMatriz.mat[i][j] = this.mat[i][j] + matrizParaSomar.mat[i][j]; 
	
	        }
		}
		
		return novaMatriz;
	}
	
/*	public void somarEAtribuir(){
		

			
	}
	
	public Matriz subtrair(){
		
		
		
	}
	
	public void subtrairEAtribuir(){
		
	
		
	}
	
	public Matriz multiplicar(){
		
	
		
	}
	
	public void copiar(){
		
	
		
	}
	
	public Matriz obterTransposta(){
		
	
		
	}
	
	*/
}

Classe Main

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		int m;
		int n;
		int x;
		
		Scanner input = new Scanner(System.in);
						
		System.out.println("Informe a operação que será realizada\n\n1 - soma de 2 matrizes\n2 - subtração de 2 matrizes\n3 - multiplicação de 2 matrizes\n4 - determina a tranposta de 1 matriz\n5 - sair\n\n");
		x = input.nextInt();
		
		if (x == 5){   
            System.exit(0);   
        } else if (x == 4){       
            transposta();   
        } else if (x == 1) {   
            soma();   
        } else if (x == 2) {   
            subtracao();   
        } else if (x == 3) {   
            multiplicacao();   
        }   
    }   
  
    private static void soma() {
    	Matriz matriz = lerMatrizDoUsuario(1);   
        Matriz matrizParaSomar = Matriz.lerMatriz(matriz.getM(), matriz.getN());   
        Matriz resposta = matriz.somar(matrizParaSomar);   
        resposta.exibirMatriz();   
    }   
  
    private static void subtracao() {   
           
    }   
  
    private static void multiplicacao() {   
           
    }   
  
    private static void transposta() {   
           
    }   
  
    private static Matriz lerMatrizDoUsuario(int num) {   
    	
    	Scanner input = new Scanner(System.in);
    	
        System.out.println("Digite o número de linhas da " + num + "ª Matriz: ");   
        int m = input.nextInt();   
  
        System.out.println("Digite o número de colunas da " + num + "ª Matriz: ");   
        int n = input.nextInt();   
  
        return Matriz.lerMatriz(m, n);   
    }   
}

Abraços…

Criado 30 de janeiro de 2009
Ultima resposta 4 de fev. de 2009
Respostas 25
Participantes 3