您首先需要循环各行,并且知道这是一个对角线循环,因此每一步的起点将是(i,i)元组.从那里开始,一个内部循环循环至多2个元素,并更新给定位置的值(如果它们在边界内).每当我们为一个给定的元素设置一个值时,我们就会递减currentIndex
,所以我们不必担心它的值.
import java.util.*;
import java.lang.*;
import java.io.*;
// The main method must be in a class named "Main".
class Main {
public static void main(String[] args) {
int currentIndex = 27;
int[][] array = new int[10][10];
for (int i = 0; i < array.length; i++) {
for (int j = i; j <= i + 2 && (j < array[i].length); j++) {
array[i][j] = currentIndex--;
}
}
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array.length; j++) {
System.out.print((array[j][i] > 9 ? "" : " ") + array[j][i] + " ");
}
System.out.println();
}
}
}