04 螺旋矩阵

1 按下图形状打印数字

螺旋矩阵


import java.util.Scanner;

/**
 * 注意一个圈中二维数组中i,j的变化规律即可
 * 1	2
 * 
 * 4	3
 * 1-->2:i不变,j由0增到1
 * 2-->3:i由0增到1,j不变
 * 3-->4:i不变,j由1减到0
 * 4-->1:i由1减到0,j不变
 * @author zhangli
 *
 */
public class LuoJuTest {
	public static void main(String args[]) {
		System.out.println("请输入矩阵长度:");
		int n = 5;
		try {
			n = new Scanner(System.in).nextInt();
		}
		catch (Exception e)
		{

		}
		int a[][] = new int[n][n];
		int value = 1;
		int i=0,j=0;
		
		for (int m=0;m<n/2+n%2;m++) 
		{
			for(j=m,i=m;j<(n-m);j++)
			{
				a[i][j]=value++;
			}
			for(j--,i++;i<(n-m);i++)
			{
				a[i][j]=value++;
			}
			for(j--,i--;j>=m;j--)
			{
				a[i][j]=value++;
			}
			for(i--,j++;i>m;i--)
			{
				a[i][j]=value++;
			}
		}
		for(i=0;i<n;i++)
		{
			for(j=0;j<n;j++)
			{
				System.out.print(a[i][j]+" ");
			}
			System.out.println();
		}
	}
}

猜你喜欢

转载自www.cnblogs.com/alichengxuyuan/p/12578008.html