Write a java program to printing matrices, and performing matrix Addition, Subtraction, Multiplication and Division.
Save this file to MatrixOperations.java
Run it and enjoy
import java.util.Scanner;
public class MatrixOperations {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter the number of rows for Matrix A: ");
int rowsA = scanner.nextInt();
System.out.print("Enter the number of columns for Matrix A: ");
int colsA = scanner.nextInt();
System.out.print("Enter the number of rows for Matrix B: ");
int rowsB = scanner.nextInt();
System.out.print("Enter the number of columns for Matrix B: ");
int colsB = scanner.nextInt();
if (colsA != rowsB) {
System.out.println("Matrix multiplication is not possible. Columns of Matrix A must be equal to rows of Matrix B.");
scanner.close();
return;
}
int[][] matrixA = new int[rowsA][colsA];
int[][] matrixB = new int[rowsB][colsB];
System.out.println("Enter elements of Matrix A:");
inputMatrixElements(scanner, matrixA);
System.out.println("Enter elements of Matrix B:");
inputMatrixElements(scanner, matrixB);
System.out.println("Matrix A:");
printMatrix(matrixA);
System.out.println("Matrix B:");
printMatrix(matrixB);
int[][] resultAddition = addMatrices(matrixA, matrixB);
int[][] resultSubtraction = subtractMatrices(matrixA, matrixB);
int[][] resultMultiplication = multiplyMatrices(matrixA, matrixB);
System.out.println("Matrix A + Matrix B:");
printMatrix(resultAddition);
System.out.println("Matrix A - Matrix B:");
printMatrix(resultSubtraction);
System.out.println("Matrix A * Matrix B:");
printMatrix(resultMultiplication);
scanner.close();
}
// Method to input elements of a matrix
public static void inputMatrixElements(Scanner scanner, int[][] matrix) {
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[0].length; j++) {
matrix[i][j] = scanner.nextInt();
}
}
}
// Method to print a matrix
public static void printMatrix(int[][] matrix) {
for (int[] row : matrix) {
for (int num : row) {
System.out.print(num + " ");
}
System.out.println();
}
}
// Method to add two matrices
public static int[][] addMatrices(int[][] matrixA, int[][] matrixB) {
int rows = matrixA.length;
int cols = matrixA[0].length;
int[][] result = new int[rows][cols];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
result[i][j] = matrixA[i][j] + matrixB[i][j];
}
}
return result;
}
// Method to subtract two matrices
public static int[][] subtractMatrices(int[][] matrixA, int[][] matrixB) {
int rows = matrixA.length;
int cols = matrixA[0].length;
int[][] result = new int[rows][cols];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
result[i][j] = matrixA[i][j] - matrixB[i][j];
}
}
return result;
}
// Method to multiply two matrices
public static int[][] multiplyMatrices(int[][] matrixA, int[][] matrixB) {
int rowsA = matrixA.length;
int colsA = matrixA[0].length;
int colsB = matrixB[0].length;
int[][] result = new int[rowsA][colsB];
for (int i = 0; i < rowsA; i++) {
for (int j = 0; j < colsB; j++) {
int sum = 0;
for (int k = 0; k < colsA; k++) {
sum += matrixA[i][k] * matrixB[k][j];
}
result[i][j] = sum;
}
}
return result;
}
}
Comments
Post a Comment