使用java将一个二维数组顺时针输出

互联网 20-4-16

目标:

将一个二维数组按顺时针输出。

(推荐教程: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视频

以上就是使用java将一个二维数组顺时针输出的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 二维数组
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:深入浅析With的使用

相关资讯