Другой подход с if / else:
private static void duplicateAlternatesWithIfElse(int[][] matrix) {
for (int row = 0; row < matrix.length; row++) {
for (int col = 0; col < matrix.length; col++) {
if ((row - 1) % 2 == 0) {
matrix[row][col] = matrix[row - 1][col];
} else if ((col - 1) % 2 == 0) {
matrix[row][col] = matrix[row][col - 1];
}
}
}
}
Тестирование с использованием основной функции:
public static void main(String[] args) {
int[][] twoDimArray = {
{ 10, 17, 200, 255, 0 },
{ 0, 199, 100, 30, 45 },
{ 250, 23, 177, 180, 79 },
{ 0, 9, 14, 150, 70 },
{ 50, 55, 187, 10, 233 }
};
printMatrix(twoDimArray);
duplicateAlternatesWithIfElse(twoDimArray);
printMatrix(twoDimArray);
}
Вывод:
10 17 200 255 0
0 199 100 30 45
250 23 177 180 79
0 9 14 150 70
50 55 187 10 233
10 10 200 200 0
10 10 200 200 0
250 250 177 177 79
250 250 177 177 79
50 50 187 187 233