java for循环练习——螺旋矩阵

/**
 * 螺旋矩阵
 */
import java.io.*;

public class RingDemo {
	public static void main(String args[]){
		String strln = "";
		System.out.println("请输入矩阵的行列数:");
		InputStreamReader input = new InputStreamReader(System.in);
		BufferedReader buff = new BufferedReader(input);
		try{
			strln = buff.readLine();
		}catch(IOException e){
			System.out.println(e.toString());
		}
		int int1 = Integer.parseInt(strln);
		int n = int1;//读取的输入数
		System.out.println("这是行列数为"+n+"的螺线型数组:");
		int intA = 1;//初始化
		int[][] array = new int[n][n];
		int intB;//循环次数
		
		if(n % 2 != 0){
			intB = n / 2 + 1;
		}else{
			intB = n / 2;
		}
		
		for(int i = 0;i < intB;i++){
			//从左到右
			for(int j = i;j < n - i;j++){
				array[i][j] = intA;
				intA++;
			}
			//从上到下
			for(int k = i+1;k < n-i;k++){
				array[k][n-i-1] = intA;
				intA++;
			}
			//从右到左
			for(int l = n-i-2;l >= i;l--){
				array[n-i-1][l] = intA;
				intA++;
			}
			//从下到上
			for(int m = n-i-2;m >i;m--){
				array[m][i] = intA;
				intA++;
			}
		}
		//输出数组
		for(int i = 0; i < n; i++){
			for(int j = 0; j < n; j++){
				System.out.print(array[i][j]+" ");
			}
			System.out.println();
		}
	}
}


转载于:https://my.oschina.net/u/1991555/blog/362190

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值