У меня есть String[][] field
. Например, это может выглядеть так:Сравнение элементов строк или столбцов в 2D массиве (Java)
[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
и т. Д.) Есть ли какой-либо эффект способ сравнения всей строки/столбца 2D-массива?
вам нужно использовать два для циклов при перемещении 2D-массива и его содержимого –