> Java > Java시작하기 > java를 사용하여 시계 방향으로 2차원 배열 출력

java를 사용하여 시계 방향으로 2차원 배열 출력

王林
풀어 주다: 2020-04-16 16:11:57
앞으로
3050명이 탐색했습니다.

java를 사용하여 시계 방향으로 2차원 배열 출력

목표:

시계방향으로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿