GeeksforGeeks App
Open App
Browser
Continue

# Java Program to Add two Matrices

Given two matrices A and B of same size, the task to add them in Java.
Examples:

```Input: A[][] = {{1, 2},
{3, 4}}
B[][] = {{1, 1},
{1, 1}}
Output: {{2, 3},
{4, 5}}

Input: A[][] = {{2, 4},
{3, 4}}
B[][] = {{1, 2},
{1, 3}}
Output: {{3, 6},
{4, 7}}```

Approach:

• Take the two matrices to be added
• Create a new Matrix to store the sum of the two matrices
• Traverse each element of the two matrices and add them. Store this sum in the new matrix at the corresponding index.
• Print the final new matrix

Below is the implementation of the above approach:

## Java

 `// Java program for addition of two matrices` `import` `java.io.*;` `class` `GFG {` `    ``// Function to print Matrix``    ``static` `void` `printMatrix(``int` `M[][],``                            ``int` `rowSize,``                            ``int` `colSize)``    ``{``        ``for` `(``int` `i = ``0``; i < rowSize; i++) {``            ``for` `(``int` `j = ``0``; j < colSize; j++)``                ``System.out.print(M[i][j] + ``" "``);` `            ``System.out.println();``        ``}``    ``}` `    ``// Function to add the two matrices``    ``// and store in matrix C``    ``static` `int``[][] add(``int` `A[][], ``int` `B[][],``                       ``int` `size)``    ``{``        ``int` `i, j;``        ``int` `C[][] = ``new` `int``[size][size];` `        ``for` `(i = ``0``; i < size; i++)``            ``for` `(j = ``0``; j < size; j++)``                ``C[i][j] = A[i][j] + B[i][j];` `        ``return` `C;``    ``}` `    ``// Driver code``    ``public` `static` `void` `main(String[] args)``    ``{``        ``int` `size = ``4``;` `        ``int` `A[][] = { { ``1``, ``1``, ``1``, ``1` `},``                      ``{ ``2``, ``2``, ``2``, ``2` `},``                      ``{ ``3``, ``3``, ``3``, ``3` `},``                      ``{ ``4``, ``4``, ``4``, ``4` `} };``        ``// Print the matrices A``        ``System.out.println(``"\nMatrix A:"``);``        ``printMatrix(A, size, size);` `        ``int` `B[][] = { { ``1``, ``1``, ``1``, ``1` `},``                      ``{ ``2``, ``2``, ``2``, ``2` `},``                      ``{ ``3``, ``3``, ``3``, ``3` `},``                      ``{ ``4``, ``4``, ``4``, ``4` `} };``        ``// Print the matrices B``        ``System.out.println(``"\nMatrix B:"``);``        ``printMatrix(B, size, size);` `        ``// Add the two matrices``        ``int` `C[][] = add(A, B, size);` `        ``// Print the result``        ``System.out.println(``"\nResultant Matrix:"``);``        ``printMatrix(C, size, size);``    ``}``}`

Output:

```Matrix A:
1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4

Matrix B:
1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4

Resultant Matrix:
2 2 2 2
4 4 4 4
6 6 6 6
8 8 8 8```

Time Complexity: O(N2), where N is the row or column number of the matrix

Auxiliary Space: O(N2)

My Personal Notes arrow_drop_up