我有一个String[][]字段
。例如,它可能看起来像:
[xy] [xy] [xy] [xy] [xy]
[xy] [xy] [xy] [xy] [xy]
[xy] [xy] [xy] [xy] [xy]
[xy] [xy] [xy] [xy] [xy]
[xy] [xy] [xy] [xy] [xy]
行数和列数相等,但每次的数量可能不同。我需要检查整行或整列的元素值是否相等。
我为 3x3 field
编写了一些错误的代码来检查行,这里是:
public boolean checkHorizontal(String[][] field) {
boolean value = false;
int x = 0;
for (int i = 0; i < field.length; i++) {
if (field[i][x].equals(field[i][x + 1]) &&
field[i][x + 1].equals(field[i][x + 2]) &&
!field[i][x].equals("[something]")) {
value = true;
}
}
return value;
}
但这不是检查行的通用方法,因为我们可能有不同大小的矩阵(并且需要添加x + 3
,x + 4
、x + 5
等)
有没有有效的方法来比较二维数组的整行/列?
最佳答案
要检查所有行:
for(int i = 0; i < field.length; i++){
for(int j = 1; j < field[i].length; j++){
if(!field[i][0].equals(field[i][j])){
return false;
}
}
}
return true;
关于java - 比较二维数组中行或列的元素 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41555784/