Java program to multiply two matrix using multi dimensional arrays
Here's a Java program to multiply two matrices using multi-dimensional arrays:
re:ot reftheitroad.comimport java.util.Scanner;
public class MatrixMultiplication {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// Getting input for first matrix
System.out.print("Enter the number of rows of the first matrix: ");
int m1 = sc.nextInt();
System.out.print("Enter the number of columns of the first matrix: ");
int n1 = sc.nextInt();
int[][] mat1 = new int[m1][n1];
System.out.println("Enter the elements of the first matrix:");
for (int i = 0; i < m1; i++) {
for (int j = 0; j < n1; j++) {
mat1[i][j] = sc.nextInt();
}
}
// Getting input for second matrix
System.out.print("Enter the number of rows of the second matrix: ");
int m2 = sc.nextInt();
System.out.print("Enter the number of columns of the second matrix: ");
int n2 = sc.nextInt();
int[][] mat2 = new int[m2][n2];
System.out.println("Enter the elements of the second matrix:");
for (int i = 0; i < m2; i++) {
for (int j = 0; j < n2; j++) {
mat2[i][j] = sc.nextInt();
}
}
// Checking if multiplication is possible
if (n1 != m2) {
System.out.println("Matrix multiplication is not possible");
} else {
// Creating result matrix
int[][] result = new int[m1][n2];
// Performing multiplication
for (int i = 0; i < m1; i++) {
for (int j = 0; j < n2; j++) {
for (int k = 0; k < n1; k++) {
result[i][j] += mat1[i][k] * mat2[k][j];
}
}
}
// Printing the result matrix
System.out.println("Resultant matrix after multiplication:");
for (int i = 0; i < m1; i++) {
for (int j = 0; j < n2; j++) {
System.out.print(result[i][j] + " ");
}
System.out.println();
}
}
sc.close();
}
}
This program takes two matrices as input from the user and then performs the multiplication of the matrices. It also checks if the multiplication is possible or not. If it is possible, then it prints the resultant matrix.
