Matrix Multiplication in Java
In this example, You will find a program for matrix multiplication in java and learn how matrix multiply calculates. In the previous article, we do matrix addition in Java.
The program asks the user for the number of rows and the number of columns then takes elements of two matrices from the user. So we do the calculation on both matrices to find multiply.
The below points shows how the calculation works for 2*2 and 3*3 matrices multiplication in Java.
- The first row elements of first matrix are multiplied with all columns of second matrix.
- Then second row elements of first matrix are multiplied with all columns of second matrix and so on until the end of the rows of first matrix.
Now, look at the program you understand easily 2*2 or 3*3 matrix multiplication in Java programming.
Matrix Multiplication in Java
import java.util.Scanner;
public class MatrixMultiplication
{
public static void main(String args[])
{
int m, n, p, q, sum = 0, c, d, k;
Scanner in = new Scanner(System.in);
System.out.println("Enter the number of rows and columns of first matrix");
m = in.nextInt();
n = in.nextInt();
int first[][] = new int[m][n];
System.out.println("Enter the elements of first matrix");
for ( c = 0 ; c < m ; c++ )
for ( d = 0 ; d < n ; d++ )
first[c][d] = in.nextInt();
System.out.println("Enter the number of rows and columns of second matrix");
p = in.nextInt();
q = in.nextInt();
if ( n != p )
System.out.println("Matrices with entered orders can't be multiplied with each other.");
else
{
int second[][] = new int[p][q];
int multiply[][] = new int[m][q];
System.out.println("Enter the elements of second matrix");
for ( c = 0 ; c < p ; c++ )
for ( d = 0 ; d < q ; d++ )
second[c][d] = in.nextInt();
for ( c = 0 ; c < m ; c++ ) {
for ( d = 0 ; d < q ; d++ ) {
for ( k = 0 ; k < p ; k++ ) {
sum = sum + first[c][k]*second[k][d];
}
multiply[c][d] = sum;
sum = 0;
}
}
System.out.println("Product of entered matrices:-");
for ( c = 0 ; c < m ; c++ ) {
for ( d = 0 ; d < q ; d++ )
System.out.print(multiply[c][d]+"\t");
System.out.print("\n");
}
}
}
}
OutputEnter the number of rows and columns of first matrix
2 2
Enter the elements of first matrix
1 3
4 2
Enter the number of rows and columns of second matrix
2 2
Enter the elements of second matrix
3 1
3 2
Product of entered matrices:-
12 7
18 8
Tags:
java