## HackerRank.com Challenge – Diagonal Difference

This HackerRank challenge took some thinking. I needed to be able to accept a variable size multidimensional array, add the diagonals, and then find the absolute value of their difference. I haven’t needed to work with multidimensional arrays much in the past, so it took some working through the algorithm to ensure I was incrementing my values in the correct spots.

These challenges are great mental floss for coding while I learn Java.

```import java.io.*;
import java.util.*;
import java.lang.Math;

public class Solution {

public static void main(String[] args) {
/* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
Scanner in = new Scanner(System.in);

//get the value that defines the size of the input matrix
int n = in.nextInt();

int[][] numberArray = new int[n][n];

String input = in.nextLine();;

int currentDiagnalPosition1 = 0, currentDiagnalPosition2 = n-1;
int runningTotal1 = 0, runningTotal2 = 0;

for(int j = 0; j < n; j++)
{
input = in.nextLine();

for(int k = 0; k < n; k++)
{
String[] data = input.trim().split("\\s+");

numberArray[j][k] = Integer.parseInt(data[k]);

if(currentDiagnalPosition1 == k)
{
runningTotal1 = runningTotal1 + numberArray[j][k];
}
if(currentDiagnalPosition2 == k)
{
runningTotal2 = runningTotal2 + numberArray[j][k];
}

}
currentDiagnalPosition1 = currentDiagnalPosition1 + 1;
currentDiagnalPosition2 = currentDiagnalPosition2 - 1;
}

System.out.println(Math.abs(runningTotal1-runningTotal2));

}
}
```