Java program to multiply two matrices

Hey guys!! Welcome to flower brackets blog. In this post we are going to learn java program to multiply two matrices.

java program to multiply two matrices

Also read – matrix addition and subtraction in java

In java, to perform a matrix multiplication binary operator ” * ” is used. Matrix multiplication is performed by multiplying row element of first matrix by columns of second matrix.

Also first matrix column should be equal to second matrix row. Let’s see java program to perform matrix multiplication,

import java.util.Scanner;

public class MatrixMultiplicationInJava 
{
   public static void main(String[] args) 
   { 
      int row, column, a, b, total = 0, x, y, z;
      Scanner sc = new Scanner(System.in);
      System.out.println("Please enter no. of rows and columns : ");
      row = sc.nextInt();
      column = sc.nextInt();

      int matrix1[][] = new int[row][column];
      System.out.println("Please enter elements of matrix1 : ");
      for(x = 0; x < row; x++)
      {
         for(y = 0; y < column; y++)
         {
            matrix1[x][y] = sc.nextInt();
         }
      } 
      System.out.println("Please enter no. of rows and columns : ");
      a = sc.nextInt();
      b = sc.nextInt();

      if(column != a)
      {
         System.out.println("Matrices can't be multiplied!!");
      }
      else
      {
         int matrix2[][] = new int[a][b];
         int multiply[][] = new int[row][b];
         System.out.println("Please enter elements of matrix2 : ");
         for(x = 0; x < a; x++)
         {
            for(y = 0; y < b; y++)
            {
               matrix2[x][y] = sc.nextInt();
            }
         } 
         for(x = 0; x < row; x++)
         {
            for(y = 0; y < b; y++)
            { 
               for(z = 0; z < a; z++)
               {
                  total = total + matrix1[x][z] * matrix2[z][y];
               }
               multiply[x][y] = total;
               total = 0;
            }
         }

         System.out.println("Multiplication of matrices : ");
         for(x = 0; x < row; x++)
         {
            for(y = 0; y < b; y++)
            {
               System.out.print(multiply[x][y] + "\t");
            }
            System.out.print("\n");
         }
      }
      sc.close();
   }
}

Output:

Please enter no. of rows and columns : 3 3
Please enter elements of matrix1 :
2 4 6
8 2 4
6 8 2
Please enter no. of rows and columns : 3 3
Please enter elements of matrix2 :
1 3 5
7 9 1
3 5 7
Multiplication of matrices :
48 72 56
34 62 70
68 100 52

Related Posts