我有一個類,它創建一個具有所需寬度和高度的字符畫布。翻轉多維數組java
內此我有一個方法drawLetter()(它基本上改變了字符,以便字母時顯示在畫布上(如非常簡單的ASCII技術)
我有其他3種方法rotateClockwise,flipHorizontal和flipVertical
旋轉和flipHorizontal我做得很好,他們的工作,但我似乎無法工作出我垂直錯過垂直翻轉數組(出於興趣,我認爲我有水平和垂直錯誤的方式,但病倒了一個樣本什麼即時嘗試完成以下)
這是什麼我不能工作了:
這樣的:
# # # ~
~ # ~ ~
~ # ~ ~
~ ~ ~ ~
這樣:
~ # # #
~ ~ # ~
~ ~ # ~
~ ~ ~ ~
顯然這將在完成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 [] []類變量原始圖像出於興趣
什麼你的問題是?交換不能正常工作? – 2013-02-21 16:26:05
老實說,我只是不能解決如何構建for循環的值交換 – AngryDuck 2013-02-21 16:27:31
iv使用二維字符[]使用字符串數組等,使其工作,但即時通訊嘗試使這個簡單的應用程序更好通過使用一個多維數組而不是 – AngryDuck 2013-02-21 16:28:33