二维数组
程序员文章站
2022-05-01 09:39:35
...
package com; import java.util.Arrays; public class ManyArray { int count = 0; int dcount = 0; public void printArray() { int[][] array = new int[5][5]; array[0][0] = 1; setNumber(0, 0, array); for (int i = 0; i < 5; i++) { System.out.println(Arrays.toString(array[i])); } } public static void main(String[] args) { new ManyArray().printArray(); } //逆时针设数 public void setNumber(int i, int j, int[][] a) { //自左向右方向 if (i < a.length - 1 && a[i][j + 1] == 0 && count != 4) { a[i][j + 1] = a[i][j] + 1; count++; setNumber(i, j + 1, a); } else if (i < a.length - 1 && a[i + 1][j] == 0) { //自上向下方向 a[i + 1][j] = a[i][j] + 1; setNumber(i + 1, j, a); } else if (j > 0 && a[j][j - 1] == 0) { //自右向左 a[i][j - 1] = a[i][j] + 1; setNumber(i, j - 1, a); } else if (i >= 0 && a[i - 1][j] == 0) {// 自下向上方向 a[i - 1][j] = a[i][j] + 1; dcount++; if (dcount == 3) { count = 0; } setNumber(i - 1, j, a); } } }