【问题标题】:array required, but List<List<Integer>> found需要数组,但找到 List<List<Integer>>
【发布时间】:2020-05-06 06:20:29
【问题描述】:

我正在尝试使用 Array List 找到对角线的差异,并停留在此处。

类结果{

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); 

}

}

Error Image

【问题讨论】:

  • 这个错误是因为你没有正确使用arr。 arr var 不是一个数组,它是一个列表。更改以下代码: arr[i][j] 为 arr.get(i).get(j)

标签: java list matrix arraylist diagonal


【解决方案1】:

您无法使用 arr[i][j] 访问 ArrayList。 将列表 arr 更改为 int arr[][] 或遍历每个 List 元素:

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

或者你也可以使用:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-22
    • 2020-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-29
    • 2022-09-30
    • 2010-09-06
    相关资源
    最近更新 更多