목표:
시계방향으로 2차원 배열을 출력합니다.
(추천 튜토리얼: Java 시작하기)
코드는 다음과 같이 구현됩니다:
public class 顺时针输出二维矩阵 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int[][]arr={ {1,2,2,3}, {4,5,4,6}, {7,8,6,9}, {1,2,3,4} }; int k=0; for(int i = 0; i < arr.length;i++){ for(int j = 0;j < arr[0].length;j++){ k++; System.out.print(arr[i][j]+" "); if(k % 4 == 0){ System.out.println(""); } } } System.out.println(""); System.out.println(arr[0].length);//列数 System.out.println(arr.length);//行数 print(arr); } static void print (int[][]arr){ int leftUpRow = 0;//最左行 int leftUpCol = 0;//最左列 int rightDownRow = arr.length-1;//最右列 int rightDownCol = arr[0].length-1;//最右列 while(leftUpRow <= rightDownRow && leftUpCol <= rightDownCol){ int row = leftUpRow, col = leftUpCol; //矩阵的第一行,此时行不变,列++ while(col <= rightDownCol){ System.out.print(arr[row][col++]+" "); } //矩阵右边第一列 此时行++,列不变 //将 col,row 恢复 col = rightDownCol; row++; while(row <= rightDownRow){ System.out.print(arr[row++][col]+" "); } //矩阵的最下面一行 此时 行不变 列-- //还需要恢复 col row 的值 row = rightDownRow; col--; while(col >= leftUpCol){ System.out.print(arr[row][col--]+" "); } //矩阵最左边一列,此时行--,列不变 //继续恢复 col row的值 col = leftUpCol; row--; while(row > leftUpRow){ System.out.print(arr[row--][col]+" "); } leftUpRow++; leftUpCol++; rightDownRow--; rightDownCol--; } } }
출력 결과:
1 2 2 3 4 5 4 6 7 8 6 9 1 2 3 4 1 2 2 3 6 9 4 3 2 1 7 4 5 4 6 8
추천 관련 비디오 튜토리얼: java video
위 내용은 java를 사용하여 시계 방향으로 2차원 배열 출력의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!