/* * 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(); } } }