# 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)

Feeling lost in the world of random DSA topics, wasting time without progress? It's time for a change! Join our DSA course, where we'll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 geeks!

Previous
Next