Java  

How to Subtract Matrices in Java with Code Example?

Matrix subtraction is a fundamental operation in linear algebra where two matrices of the same dimensions are subtracted element-wise. This operation is widely used in various fields, such as computer graphics, data analysis, and scientific computing. In this article, we will explore how to perform matrix subtraction in Java, including a step-by-step explanation and a complete code example.

Understanding Matrix Subtraction

To subtract two matrices, both matrices must have the same number of rows and columns. The result of the subtraction will also be a matrix of the same size, where each element is obtained by subtracting the corresponding elements of the two matrices.

For example. Given two matrices, A and B.

Matrix example

The subtraction of  A − B will be

Matrix subtraction in Java

Java Code Example for Matrix Subtraction

Below is a complete Java program that demonstrates how to subtract two matrices. The program prompts the user to input the dimensions and elements of both matrices, performs the subtraction, and displays the result.

import java.util.Scanner;

public class MatrixSubtraction {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // Input for first matrix
        System.out.print("Enter number of rows in matrix: ");
        int rows = scanner.nextInt();
        System.out.print("Enter number of columns in matrix: ");
        int columns = scanner.nextInt();

        int[][] matrix1 = new int[rows][columns];
        int[][] matrix2 = new int[rows][columns];

        // Input elements for first matrix
        System.out.println("Enter the elements of the first matrix:");
        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < columns; j++) {
                matrix1[i][j] = scanner.nextInt();
            }
        }

        // Input elements for second matrix
        System.out.println("Enter the elements of the second matrix:");
        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < columns; j++) {
                matrix2[i][j] = scanner.nextInt();
            }
        }

        // Subtraction of matrices
        int[][] resultMatrix = new int[rows][columns];
        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < columns; j++) {
                resultMatrix[i][j] = matrix1[i][j] - matrix2[i][j];
            }
        }

        // Displaying the first matrix
        System.out.println("\nFirst Matrix:");
        printMatrix(matrix1);

        // Displaying the second matrix
        System.out.println("\nSecond Matrix:");
        printMatrix(matrix2);

        // Displaying the result of subtraction
        System.out.println("\nResultant Matrix after subtraction:");
        printMatrix(resultMatrix);
    }

    // Method to print a matrix
    public static void printMatrix(int[][] matrix) {
        for (int[] row : matrix) {
            for (int element : row) {
                System.out.print(element + " ");
            }
            System.out.println();
        }
    }
}