листать многомерный массив Java
У меня есть класс, который создает холст символов с желаемой шириной и высотой.
в этом у меня есть метод drawLetter () (который в основном меняет символы так, что на холсте появляется буква (как очень простая ASCII-графика)
у меня есть 3 других метода rotateClockwise, flipHor horizontal, и flipVertical
повернуть и перевернуть по горизонтали у меня все хорошо, и они работают, но я не могу понять, где я ошибаюсь, переворачивая массив по вертикали (из интереса я думаю, что у меня горизонтальное и вертикальное неправильное направление, но я плохо поставил образец того, что я пытаюсь чтобы было сделано ниже)
это то, что я не могу выработать:
это:
# # # ~
~ # ~ ~
~ # ~ ~
~ ~ ~ ~
к этому:
~ # # #
~ ~ # ~
~ ~ # ~
~ ~ ~ ~
очевидно, это будет сделано в цикле for, как и другие мои методы, ниже я опубликую метод, который я уже сделал для горизонтального и повернуть по часовой стрелке, чтобы доказать, что это не домашняя работа, которую я не могу сделать
void mirrorHorizontally()
{
char[][]horizontalImage = new char[height][width];
for (int i = 0; i < height /2; i++)
{
for(int j = 0; j < width; j++)
{
horizontalImage[height - (i+1)][j] = canvasArray[i][j];
horizontalImage[i][j] = canvasArray[height - (i+1)][j];
}
}
printPicture(horizontalImage);
}
void rotateClockwise()
{
char[][] rotatedImage = new char[height][width];
for(int i=0; i< canvasArray.length; i++)
{
for(int j= canvasArray.length-1; j >= 0; j--)
{
rotatedImage[i][rotatedImage.length-1-j] = canvasArray[j][i];
}
}
printPicture(rotatedImage);
}
canvasArray - исходное изображение из интереса в переменной класса char [] []