我有以下的二维数组,我想比较所有的列彼此。按列分析二维数组
int [][] myarray={{1,2,3},{1,2,3},{1,2,3}};
所以我想看到的是如果列1(全1)等于列2(全部2)的值。
Ps。数组大小不仅限于此。
我有以下的二维数组,我想比较所有的列彼此。按列分析二维数组
int [][] myarray={{1,2,3},{1,2,3},{1,2,3}};
所以我想看到的是如果列1(全1)等于列2(全部2)的值。
Ps。数组大小不仅限于此。
从您的问题中不太清楚您是否要比较所有列彼此之间,或者只是一列到另一个单列(例如第1列到第2列)。假设你的意思是后者,你可以这样做。
public boolean columnsIdentical(int[][] array, int colIndex1, int colIndex2) {
for (int row = 0; row < array.length; row++) {
if (array[row][colIndex1] != array[row][colIndex2]) {
return false;
}
}
return true;
}
for (int i=0;i<myarray[0].length;i++) {
int comp=myarray[0][i];
for (int j=1;j<myarray.length;j++) {
if (myarray[j][i] != comp) {
// no match
} else {
// match
}
}
}
测试所有列对需要3个回路
您是否希望返回一个简单的真/假?如果他们都是平等的,并且假如有差异,那么这是真的? –
是的! @DavidWallace – Eddy221