二维数组(N*N),沿对角线方向,从右上角打印到左下角

/*  
 二维数组(N*N),沿对角线方向,从右上角打印到左下角如N=4:
 4*4二维数组
 { 1  2  3  4 }
 { 5  6  7  8 }
 { 9 10 11 12 }
 {13 14 15 16 }
 打印顺序
 4
 3 8
 2 7 12
 1 6 11 16
 5 10 15
 9 14
 13
 */
public class suanfaTest1
{
	public static void main(String[] args)
	{
		int[][] array = { 
				{  1,  2,  3,  4 },
				{  5,  6,  7,  8 }, 
				{  9, 10, 11, 12 },
				{ 13, 14, 15, 16 } 
				};
		int[][] arr = {{1,2,3},{4,5,6},{7,8,9}}; 
		Flag(array);
		//Flag(arr);
	}

	static void Flag(int[][] a)
	{
		// System.out.println(a[0][a[0].length-1]);
		for (int i = 1; i <= 2 * a.length - 1; i++)
		{
			if (i <= a.length)
			{
				for (int j = i; j > 0; j--)
				{
					System.out.print(a[i - j][a.length - j] + " ");
				}
				System.out.println();
			}
			if (i > a.length)
			{
				for (int j = i - a.length; j <= a.length - 1; j++)
				{
					System.out.print(a[j][a.length - (i - j)] + " ");
				}
				System.out.println();
			}
		}
	}
}

 

你可能感兴趣的:(二维数组)