为了账号安全,请及时绑定邮箱和手机立即绑定

java九宫格的问题

java九宫格的问题

空空空空空空啊 2018-09-29 19:57:02
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");  }  }}
查看完整描述

3 回答

已采纳
?
qq_凯_29

TA贡献7条经验 获得超1个赞

第一次执行arr[a++][b++] 相当于  arr[2][1]=1这时a=3,b=2

第二次执行arr[a++][b++] 相当于  arr[0][2]=2这时a=1,b=3

第三次执行arr[a++][b++] 相当于  arr[1][0]=3这时a=2,b=1

因为i%3=0所以a=0,b=0

第四次执行arr[a++][b++] 相当于  arr[0][0]=4这时a=1,b=1

第五次执行arr[a++][b++] 相当于  arr[1][1]=5这时a=2,b=2

第六次执行arr[a++][b++] 相当于  arr[2][2]=6这时a=3,b=3

因为i%3=0所以a=1,b=2

第七次执行arr[a++][b++] 相当于  arr[1][2]=7这时a=2,b=3

第八次执行arr[a++][b++] 相当于  arr[2][0]=8这时a=3,b=1

第九次执行arr[a++][b++] 相当于  arr[0][1]=9这时a=1,b=2


查看完整回答
反对 回复 2018-10-11
  • 3 回答
  • 0 关注
  • 1046 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信