【发布时间】:2017-01-07 21:57:04
【问题描述】:
我有一个包含很多零和一些其他值的二维数组。在第一步中,我将一列中的所有行加起来以找出每列的总和。求和的结果保存在数组列表中。 现在我需要比较 2D-Array 中的每个值是否等于它在 arraylist 中的列的总和。如果相等,则该行的第一个值将保存在单独的数组列表中。
举个例子:
{A, 0, 0, 6, 0}
{B, 0, 2, 0, 2}
{C, 0, 1, 0, 0}
{D, 3, 0, 0, 2}
Arraylist {3, 3, 6, 4}
我想将每个值与arraylist中相同位置的值进行比较。
到目前为止我的代码:
List sumList = new ArrayList();
for(int c = 1; c < excelMatrix.length; c++){
int sum = 0;
for(int r = 0; r < excelMatrix.length-1; r++){
sum = excelMatrix[r][c] + sum;
sumList.add(sum);
}
}
List checkList = new ArrayList();
for(int c = 1; c < excelMatrix.length; c++){
for(int r = 0; r < excelMatrix.length-1; r++){
if(excelMatrix[r][c].equals(sumList)){
checkList.add(excelMatrix[r][0]);
}
}
}
在数组值与数组列表的值进行比较之前,一切正常。
【问题讨论】:
-
检查条件 make it -> for(int r = 0; r
-
@GovindMadhu 抱歉,我在发布问题时错过了这一点。在我的代码中,我已经有了 -1。
-
您确定总和计算正确吗?根据我从代码中看到的情况,情况并非如此。在第一个 for 循环中,应该存在 c=0 而不是 c=1,这样您就可以获取矩阵 [0][0]、[1,0][2,0][3,0] 的值。根据您当前的代码,它将采用 matrix[0,1][1,1][2,1][3,1]。
标签: java arrays arraylist multidimensional-array