требуется массив, но список нашел - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь найти диагональную разницу с помощью списка массивов и застрял здесь.

Результат класса {

public static int diagonalDifference(List<List<Integer>> arr,int n) {

 int d1 = 0, d2 = 0; 

 for (int i = 0; i < n; i++) {

        for (int j = 0; j < n; j++) {
             // finding sum of primary diagonal 
        if (i == j) 
            d1 += Integer.parseInt(arr[i][j]); 

        // finding sum of secondary diagonal 
        if (i == n - j - 1) 
            d2 += Integer.parseInt(arr[i][j]); 
        }
}
return (d1 - d2); 

}

}

Изображение ошибки

1 Ответ

0 голосов
/ 06 мая 2020

Вы не можете получить доступ к ArrayList, используя arr [i] [j]. Либо измените Arr списка на int arr [] [], ИЛИ выполните итерацию по каждому элементу списка:

for(List<Integer> list : arr){
    for(Integer ab : list){
       ........<DO SOMETHING>
    }
 }

ИЛИ вы также можете использовать:

arr.get(i).get(j);
...