/*
* Matrizes.java
*
* Criado em 10/10/2009
*/
package samples;
/**
* A classe Matrizes mostra um exemplo de como declarar arrays
* bidimensionais (matrizes) em Java e como passar uma matriz para um método.
*
* @author João Henrique Berg dos Santos
*
*/
public class Matrizes {
/**
* O método somaAB soma as matrizes mA e mB e retorna a matriz
* mC. Não são feitas todas as verificações necessárias. Arrays bidimensionais
* em Java não são necessariamente retangulares e esta verificação não é feita
* aqui. Fica como tarefa esta verificação.
*
* @param mA a matriz mA.
* @param mB a matriz mB.
* @return a soma de mA e mB.
*/
public int[][] somaAB(int[][] mA, int[][] mB) {
// Se o número de linhas das matrizes for diferente retorna null
if (mA.length != mB.length) return null;
// Se o número de colunas em cada linha for diferente retorna null
for (int l = 0; l < mA.length; l++) {
if (mA[l].length != mB[l].length) return null;
}
int mC[][] = new int[mA.length][mA[0].length];
// Soma as duas matrizes
for (int l = 0; l < mC.length; l++) {
for (int c = 0; c < mC[l].length; c++) {
mC[l][c] = mA[l][c] + mB[l][c];
}
}
return mC;
}
/**
* O método main é o ponto de entrada de um aplicativo Java.
*
* @param args os argumentos da linha de comando.
*/
public static void main(String[] args) {
int[][] mA = { { 0, 1, 2 }, { 5, 4, 3 } };
int[][] mB = { { -2, 0, -1 }, { 3, -1, 3 } };
int[][] mC;
int[][] arrayBidimensional = { { 1, 2, 3 }, { 1, 2 }, { 1, 2, 3, 4 } };
Matrizes m = new Matrizes();
mC = m.somaAB(mA, mB);
for (int l = 0; l < mC.length; l++) {
for (int c = 0; c < mC[l].length; c++) {
System.out.print(mC[l][c] + "\t");
}
System.out.println();
}
System.out.println();
for (int l = 0; l < arrayBidimensional.length; l++) {
for (int c = 0; c < arrayBidimensional[l].length; c++) {
System.out.print(arrayBidimensional[l][c] + "\t");
}
System.out.println();
}
}
}