java蛇形矩陣輸出方法 順時針 逆時針

2021-08-10 02:19:41 字數 1387 閱讀 5280

package mytest.test;

public class testmatrix

int ints = new int[n][n];

int result = 0;

int x = 0, y = 0;

while (result < n * n)

direct = direct.down;// 改變方向,向下

x++;//向下需要x座標+1

y--;//補償y座標在上面迴圈體的偏移

break;

case down:

while (x < n && ints[x][y] == 0)

direct = direct.left;// 改變方向,向左

y--;//向左需要y座標-1

x--;//補償x座標在上面迴圈體的偏移

break;

case left:

while (y >= 0 && ints[x][y] == 0)

direct = direct.up;// 改變方向,向上

x--;// 向上x座標-1

y++;// 補償y座標在上面迴圈體的偏移

break;

case up:

while (x >= 0 && ints[x][y] == 0)

direct = direct.right;// 改變方向,向右

y++;// 右轉y座標+1

x++;// 補償x座標在上面迴圈體的偏移

break;

}} return ints; }

//旋轉方向

enum circledir

//移動方向

enum direct

/*** 測試方法

* * @param args

*/public static void main(string args)

system.out.println();

} system.out.println("********************===分割線***************====");

system.out.println("********************===逆時針***************====");

int intantis = getmatrix(n, circledir.anticlockwise);// 逆時針輸出

for (int i = 0; i < n; i++)

system.out.println();

} }}

執行結果:

Java 順時針列印矩陣

對於乙個矩陣,請設計乙個演算法從左上角 mat 0 0 開始,順時針列印矩陣元素。給定int矩陣mat,以及它的維數nxm,請返回乙個陣列,陣列中的元素為矩陣元素的順時針輸出。測試樣例 1,2 3,4 2,2返回 1,2,4,3 public static void main string args...

陣列矩陣的順時針輸出

其實這個題目,我要講的並不是這個題目的編碼過程,而是對於這個問題解決過程 我們不能遇到這個問題之後立即編碼是錯誤的,然而立即拿出筆在紙上寫寫畫畫時,也是需要進行技巧的,針對這個問題,我們首先看看順時針時,走一圈作為乙個迴圈,然而該 迴圈的起點是很有意思的,這個點的所在的點行座標和列座標是相同的 也即...

順時針列印矩陣

輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。例如 如果輸入如下矩陣 1 2 3 45 6 7 89 10 11 1213 14 15 16則依次列印出數字 1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。這個題目 寫的並不好感覺,好多if看著就煩,就是...