打印效果
题目
按照数字增序,顺时针打印数组。
实现
废话少说直接上代码
/**
* @author epochong@163.com
* @date 2022-07-27 14:07
* @describe
*/
public class PrintArray {
public static void main(String[] args) {
printArray(20);
}
public static void printArray(int n) {
int left = 0;
int right = n - 1;
int loop = n - 1;
int[][] arr = new int[n][n];
int cur = 1;
do {
for (int i = 0; i < loop; i++) {
arr[left][left + i] = cur++;
}
for (int i = 0; i < loop; i++) {
arr[left + i][right] = cur++;
}
for (int i = 0; i < loop; i++) {
arr[right][right - i] = cur++;
}
for (int i = 0; i < loop; i++) {
arr[right - i][left] = cur++;
}
left++;
right--;
loop -= 2;
} while (left != right && loop >= 0);
for (int[] ints : arr) {
for (int i = 0; i < arr.length; i++) {
System.out.printf("%-3d ", ints[i]);
}
System.out.println();
}
}
}