Multiply two matrices in Java

We can add two matrices in java using binary * operator and multi-dimensional arrays creation. In java “array of arrays “ approach is used for create multi-dimensional array.

In case of matrix multiplication, one row element of first matrix is multiplied by all the columns of the second matrix.

Example :

We have two matrices A and B of same size and we have to multiply them..

Input: A[][] = {{2, 3},
{5, 4}}
B[][] = {{5, 2},
{3, 4}}
Output: {{19, 16},
{37, 26}}

Example – Program to Multiply two matrices

public class MatricesMultiply {
  public static void main(String args[]) {

    int a[][] = { { 2, 3 }, { 5, 4 } };
    int b[][] = { { 5, 2 }, { 3, 4 } };

    int c[][] = new int[2][2]; // 2 rows and 2 columns

    for (int i = 0; i < 2; i++) {
      for (int j = 0; j < 2; j++) {
        c[i][j] = 0;
        for (int k = 0; k < 2; k++) {
          c[i][j] += a[i][k] * b[k][j];
        }
        System.out.print(c[i][j] + " "); // printing matrix element
      }
      System.out.println();
    }
  }
}

Output

19 16
37 26

Example – Using independent method

public class MatricesMultiply {

  public static void main(String[] args) {
    int a[][] = { { 2, 3 }, { 5, 4 } };
    int b[][] = { { 5, 2 }, { 3, 4 } };

    int[][] sum = multiplyMatrices(a, b);

    System.out.println("The Multiplication of two matrices is: ");
    printMatrix(sum);

  }

  public static int[][] multiplyMatrices(int[][] a, int[][] b) {

    int c[][] = new int[2][2]; // 2 rows and 2 columns

    for (int i = 0; i < 2; i++) {
      for (int j = 0; j < 2; j++) {
        c[i][j] = 0;
        for (int k = 0; k < 2; k++) {
          c[i][j] += a[i][k] * b[k][j];
        }
      }
    }

    return c;
  }

  public static void printMatrix(int[][] matrix) {
    int rows = matrix.length;
    int columns = matrix[0].length;
    for (int i = 0; i < rows; i++) {
      for (int j = 0; j < columns; j++) {
        System.out.print(matrix[i][j] + " ");
      }
      System.out.println();
    }
  }
}

Output

The Multiplication of two matrices is:
19 16
37 26