java学习笔记004 螺旋填数/回形填数java实现,数组倒序的简单写法

import java.util.Scanner;

public static void main(String[] args) {
	Scanner scan = new Scanner(System.in);
	System.out.println("请输入一个数:");
	int count = scan.nextInt();
	int[][] a = new int[count][count];
	int round = (count >> 1) + 1;
	int number = 1;
	for(int r=0; r<round; r++)
		number = roundFill(a, r, count, count-(r<<1), number);
	for(int i=0; i<a.length; i++) {
		for(int j=0; j<a[i].length; j++)
			System.out.print(a[i][j] + "\t");
		System.out.println();
	}
}
public static int roundFill(int[][] a, int r, int count, int length, int number) {
	for(int i=0; i<length; i++) {
		a[r][r+i] = number ++;
	}
	for(int i=0; i<length-1; i++) {
		a[r+1+i][count-r-1] = number ++;
	}
	for(int i=0; i<length-1; i++) {
		a[count-r-1][count-2-i-r] = number ++;
	}
	for(int i=0; i<length-2; i++) {
		a[count-2-i-r][r] = number ++;
	}
	return number;
}

//数组倒序的不错方法
public void reverseArray(int arr[]) {
	for(int i=0, j=arr.length-1; i<j; i++, j--) {
		int temp = arr[i];
		arr[i] = arr[j];
		arr[j] = temp;
	}
}
posted @ 2022-08-08 23:19  香菇无盐  阅读(94)  评论(0)    收藏  举报