Java 创建一个内部变大的 2d int 数组

Java creating a 2d int array which getting bigger inside

我想创建一个从外到内越来越大的二维整数数组,第一层应该从1开始,下一层应该高1。

当 n = 3 时,它应该是这样的:

这就是我已有的

    int n = 3;
    int[][] feld = new int[2*n][2*n];
    int c = 1 ;

    for (int i = 0; i < 2*n; i++) {
        for (int j = 0; j < 2*n; j++) {
            feld[i][j] = c-i+j;
        }
        c++;
    }

    for (int i = 0; i < feld.length; i++) { //this to printing the matrix
        for (int j = 0; j < feld[i].length; j++) {
            System.out.print(feld[i][j] + " ");
        }
        System.out.println();
    }

这应该有效。

    int n = 3;
    int[][] feld = new int[2*n][2*n];
    int c = 0;

    while(c<n) {
        for(int i = c; i < 2*n-c; i++) {
            feld[c][i] = c+1;
            feld[i][c] = c+1;
            feld[2*n-c-1][i] = c+1;
            feld[i][2*n-c-1] = c+1;
        }
        c++;
    }
    for (int i = 0; i < feld.length; i++) { //print the matrix
        for (int j = 0; j < feld[i].length; j++) {
            System.out.print(feld[i][j] + " ");
        }
        System.out.println();
    }

您可以将 n 更改为任何值,它应该仍然有效