# Java Program to Compute the Sum of Diagonals of a Matrix

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 2Output 1 :Principal Diagonal:26Secondary Diagonal:14Input 2 :2 2 2 1 1 1 3 3 3Output 2 :Principal Diagonal:6Secondary 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****.**