Spiegeln eines mehrdimensionalen Arrays Java

Ich habe eine Klasse, die eine Zeichenfläche mit einer gewünschten Breite und Höhe erstellt.

in diesem habe ich eine Methode drawLetter () (die im Grunde die Zeichen ändert, so dass ein Buchstabe auf der Leinwand erscheint (wie sehr einfache ASCII-Kunst)

Ich habe 3 andere Methoden rotateClockwise, flipHorizontal und flipVertical

drehen und drehenHorizontal Ich habe es gut gemacht und sie funktionieren, aber ich kann nicht herausfinden, wo ich falsch liege, wenn ich das Array vertikal drehe unten zu erledigen)

Das kann ich nicht ausarbeiten:

diese:

# # # ~
~ # ~ ~
~ # ~ ~
~ ~ ~ ~

dazu:

~ # # #
~ ~ # ~
~ ~ # ~
~ ~ ~ ~

Offensichtlich wird es in einer for-Schleife wie meine anderen Methoden durchgeführt. Im Folgenden werde ich die Methode, die ich bereits für horizontal durchgeführt habe, veröffentlichen und im Uhrzeigersinn drehen, um zu beweisen, dass ich keine Hausaufgaben machen kann

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 ist das Originalbild aus Interesse an einer Variablen der Klasse char [] []

Antworten auf die Frage(1)

Ihre Antwort auf die Frage