Sumar matrices en Java

28/jul/2010 Java , , , , , 1 Comentario
java

Seguimos con los ejemplos de matrices, ahora que ya hemos visto como crear una matriz con Java. En este caso vamos a realizar la suma de dos matrices.

Para llevar a cabo el ejemplo hemos definido un método Java que nos permite sumar las matrices. La signatura de dicho método será la siguiente:

  1. public static int[][] sumarmatrices (int[][] m1,int[][] m2) throws Exception {...}

Como podemos ver el método Java recibe dos matrices y devuelve una, que será el resultado de la misma. Por otro lado puede generar una Exception. Este caso será cuando las dimensiones de las matrices sean diferentes. Ya que cuando las dimensiones de las matrices son diferentes, estas no se pueden sumar.

Así la comprobación de las dimensiones de las matrices las haremos apoyándonos en la propiedad length:

  1. if ((m1.length == m2.length) && (m1[0].length==m2[0].length)){...}

En el caso de no coincidir los tamaños, es cuando elevamos la Exception.

  1. if ((m1.length == m2.length) && (m1[0].length==m2[0].length)){
  2. ...
  3. } else
  4. throw new Exception();}

En caso afirmativo procederemos a sumar los elementos de las matrices. Hay que recordar que la suma de las matrices es la suma de todos sus elementos posición a posición. Por lo tanto la suma es sencilla. Solo tenemos que recorrer todos los elementos y dejar el resultado en la matriz destino.

Así, lo primero es crear una matriz resultado de las mismas dimensiones:

  1. int[][] suma = new int[m1.length][m1[0].length];

Para recorrer los elementos nos apoyamos en un bucle for y, nuevamente, en la propiedad length.

  1. for (int x=0; x < m1.length; x++) {
  2. for (int y=0; y < m1[x].length; y++) {
  3. suma[x][y]=m1[x][y]+m2[x][y];
  4. }
  5. }

Ahora solo nos quedará devolver la matriz con el resultado de la suma.

  1. return suma;

Invocar el método es sencillo. Solo hay que tener en cuenta que puede soltar una Exception y por lo tanto lo deberemos de invocar desde un método try-catch

  1. int [][] matriz1 = {{2,4,4},{6,6,9}};
  2. int [][] matriz2 = {{2,4,4},{6,6,9}};
  3. int [][] matriz = new int[3][3];
  4.  
  5. try {
  6. matriz = sumarmatrices(matriz1,matriz2);
  7. pintarmatriz(matriz);
  8. } catch(Exception e){
  9. System.out.println("Matrices de diferente dimensión");
  10. }

Vídeos sobre Java

Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

Un comentario en “Sumar matrices en Java”

Víctor Cuervo

Mauricio

Hola,

En el main, la variable de la matriz resultado (“matriz”) esta demás y es inconveniente inicializarla, esto debido a que en el método (“sumarmatrices”) la estas creando, es inconveniente por que reservas memoria que no va a ser usada.

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*


*