• 技术文章 >Java >Java入门

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

    王林王林2020-04-16 16:11:57转载1429

    目标:

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

    (推荐教程: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将一个二维数组顺时针输出的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:csdn,如有侵犯,请联系admin@php.cn删除
    专题推荐:java 二维数组
    上一篇:java多线程的创建及启动 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • java的游戏有哪些• java程序怎么写• java实现输出数组中的最小值的方法• java多线程的创建及启动
    1/1

    PHP中文网