Здравствуйте. У меня есть несколько классов, содержащих методы transform(int[] board), меняющих по-разному массив. Они объединены одним интерфейсом (Transform). В Main создаю массив из объектов Transform и с помощью цикла хочу показать различные изменения массива, но чтобы это было наглядно, хочу чтобы изменения не накладывались друг на друга. Наставник дал мне подсказку, что надо использовать метод clone(). Я пробую передавать методам клон массива и тут начинается непонятное: первый метод вообще никак не изменяет массив. А дальше идут трансформации, которые наслаиваются друг на друга. Я не понимаю, как здесь правильно воспользоваться clone(), помогите пожалуйста!!
Transformer[] transformers = new Transformer[5];
transformers[0] = new SwapBoardRows();
transformers[1] = new SwapBoardColumns();
transformers[2] = new SwapRegionsHorizontally();
transformers[3] = new SwapRegionsVertically();
transformers[4] = new SwapRowsAndColumns();
for (int i = 0; i < transformers.length; i++) {
transformers[i].transform(board.clone());
for (int j = 0; j < board.clone().length; j++) {
for (int k = 0; k < board.clone()[j].length; k++) {
System.out.print(board.clone()[j][k] + " ");
}
System.out.println();
}
System.out.println();
}