Как уже упоминалось в других ответах, вы должны использовать get
для доступа к элементам списка. Что более важно, тем не менее, это то, что вы должны изменить свой алгоритм. Требуется только один l oop, а не две петли для суммирования диагонали:
for(int i = 0; i < arr.size(); i++) {
sum_a += arr.get(i).get(i);
}
и аналогичные для sum_b
. Вы даже можете рассчитать разницу следующим образом:
public static int diagonalDifference(List<List<Integer>> arr) {
int result = 0;
for (int i = 0; i < arr.size(); i++) {
List<Integer> row = arr.get(i);
result += row.get(i) - row.get(n - i - 1);
}
return result;
}
Здесь я полагаю, что вы действительно хотите рассчитать разницу диагоналей, а не сумму.