### Matrix multiplication

This program show how to multiply two matrices A & B into a third matrix C. Here the matrix having 3 rows and 3 columns (3x3). As given below, inputMatrix( ) and displayMatrix( ) are two static methods which are used to read and display the matrix values respectively. java.util.Scanner class is used to read values from keyboard at runtime.

PROGRAM
```import java.util.Scanner;

public class MatrixMultiplication {

// Method to read matrix elements
public static void inputMatrix(int temp[][]) {
Scanner s = new Scanner(System.in);
for(int i=0;i<3; i++) {
for(int j=0; j<3; j++) {
temp[i][j] = s.nextInt();
}
}
}

// Method to display matrix elements
public static void displayMatrix(int temp[][]) {
for(int i=0;i<3; i++) {
for(int j=0; j<3; j++) {
System.out.print(temp[i][j] + " ");
}
System.out.println("");
}
}

public static void main(String[] args) {

int a[][] = new int[3][3];  // First matrix
int b[][] = new int[3][3];  // Second matrix
int c[][] = new int[3][3];  // Final matrix which is to store multiplication result

// Input Matrix A elements
System.out.println("Enter the 9 numbers for first matrix (3x3)...");
inputMatrix(a);

// Input Matrix B elements
System.out.println("Enter the 9 numbers for second matrix (3x3)...");
inputMatrix(b);

// Multiplication logic goes here
for(int i=0; i<3; i++) {
for(int j=0; j<3; j++) {
for(int k=0; k<3; k++) {
c[i][j] = c[i][j] + (a[i][k] * b[k][j]);
}
}
}

System.out.println("Matrix A is ...");
displayMatrix(a);

System.out.println("Matrix B is ...");
displayMatrix(b);

System.out.println("After multiplication Matrix C is ...");
displayMatrix(c);
}
}```
OUTPUT
```C:\>javac MatrixMultiplication.java
C:\>java MatrixMultiplication
Enter the 9 numbers for first matrix (3x3)...
1 2 3
4 5 6
7 8 9
Enter the 9 numbers for second matrix (3x3)...
1 2 3
4 5 6
7 8 9
Matrix A is ...
1 2 3
4 5 6
7 8 9
Matrix B is ...
1 2 3
4 5 6
7 8 9
After multiplication Matrix C is ...
30 36 42
66 81 96
102 126 150
```