public class Test {
public static void main(String[] args) {
int[][] arr = new int[3][3];
int a = 2;// 第三行的行下标
int b =3/2;//第二列的列下标
for (int i = 1; i <= 9; i++) {// 给数组赋值
/*
这里有个疑问,i-max=9,那么a++应该等于11,那么当i=9的时候,首先 arr[a++][b++]好像就不成立了 ,因为把i=9带入下面的判断,那么a应该等于9,而a++是<=3的,。那么是什么问题 还是这个a++代表的不是下标,而是这一行的某个值?
*/
arr[a++][b++] = i;
if (i % 3 == 0) {
a = a - 2;
b = b - 1;
} else {
a = a % 3;
b = b % 3;
}
}
System.out.println("输出九宫格:");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println("\n");
}
}
}
qq_凯_29
相关分类