私はスパイラルオーダーで配列を塗りつぶしようとしています。これまでのところ、配列をスパイラル順に印刷することはできますが、配列を変更してスパイラル順に塗りつぶして配列を印刷する方法はありますか?私はそれがカウントダウンのように減少する順序で行くことを望みます。助けてください!2dアレイ(スパイラルオーダー)
public class Spiral {
public static void main(int m, int n) {
// create m by n array of integers 1 through m*n
int[][] values = new int[m][n];
for (int i = 0; i < m; i++)
for (int j = 0; j < n; j++)
values[i][j] = 1 + (m*n)*i + j;
// spiral
for (int i = (m*n)-1, j = 0; i > 0; i--, j++) {
for (int k = j; k < i; k++) System.out.println(values[j][k]);
for (int k = j; k < i; k++) System.out.println(values[k][i]);
for (int k = i; k > j; k--) System.out.println(values[i][k]);
for (int k = i; k > j; k--) System.out.println(values[k][j]);
}
}
}
私は、forループの第三の境界例外エラーのうちのインデックスを取得しておきます –