Related Articles
Java Program to Compute the Sum of Diagonals of a Matrix
• Last Updated : 28 Mar, 2021

For a given 2D square matrix, the task is to find the sum of elements in the Principle and Secondary diagonals. For example, analyze the following 4 × 4 input matrix.

```a00 a01 a02 a03
a10 a11 a12 a13
a20 a21 a22 a23
a30 a31 a32 a33```

Approach:

1. The principal diagonal is constituted by the elements a00, a11, a22, a33, and the row-column condition for the principal diagonal is

`row = column`

2. However, the secondary diagonal is constituted by the elements a03, a12, a21, a30, and the row-column condition for the Secondary diagonal is

`row = number_of_rows – column -1`

Illustration:

```Input 1 :  6 7 3 4
8 9 2 1
1 2 9 6
6 5 7 2

Output 1 : Principal Diagonal: 26
Secondary Diagonal: 14

Input 2 : 2 2 2
1 1 1
3 3 3

Output 2 :  Principal Diagonal: 6
Secondary Diagonal: 6```

Example:

## Java

 `// Java Program to Find the Sum of Diagonals of a Matrix`` ` `// Importing input output classes``import` `java.io.*;`` ` `// Main Class``public` `class` `GFG {`` ` `    ``// Method 1``    ``// To calculate Sum of Diagonals``    ``static` `void` `Sum_of_Diagonals(``int``[][] matrix, ``int` `N)``    ``{`` ` `        ``// Declaring and initializing two variables to zero``        ``// initially for primary and secondary diagonal``        ``// count``        ``int` `Pd = ``0``, Sd = ``0``;`` ` `        ``// Two Nested for loops for iteration over a matrix`` ` `        ``// Outer loop for rows``        ``for` `(``int` `k = ``0``; k < N; k++) {`` ` `            ``// Inner loo pfo columns``            ``for` `(``int` `l = ``0``; l < N; l++) {`` ` `                ``// Condition for the principal``                ``// diagonal``                ``if` `(k == l)``                    ``Pd += matrix[k][l];`` ` `                ``// Condition for the secondary diagonal``                ``if` `((k + l) == (N - ``1``))``                    ``Sd += matrix[k][l];``            ``}``        ``}`` ` `        ``// Print and display the sum of primary diagonal``        ``System.out.println(``"Sum of Principal Diagonal:"``                           ``+ Pd);``        ``// Print and display the sum of secondary diagonal``        ``System.out.println(``"Sum of Secondary Diagonal:"``                           ``+ Sd);``    ``}`` ` `    ``// Method 2``    ``// Main driver method``    ``static` `public` `void` `main(String[] args)``    ``{`` ` `        ``// Input integer array``        ``// Custom entries in an array``        ``int``[][] b = { { ``8``, ``2``, ``13``, ``4` `},``                      ``{ ``9``, ``16``, ``17``, ``8` `},``                      ``{ ``1``, ``22``, ``3``, ``14` `},``                      ``{ ``15``, ``6``, ``17``, ``8` `} };`` ` `        ``// Passing the array as an argument to the function``        ``// defined above(Method1-to compute sum of``        ``// diagonals)``        ``Sum_of_Diagonals(b, ``4``);``    ``}``}`
Output
```Sum of Principal Diagonal:35
Sum of Secondary Diagonal:58```

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up