猿问

java输出九宫格的程序问题

public static void main(String[] args) {
int arr[][] = new int[3][3]; //创建一个三阶方阵
int a = 2; //第3行的行下标————————???这里是什么意思,2从何而来
int b = 3/2; //第2列的列下标———————???同上而且既然是int型为何不直接int b=1;
  for(int i=1;i<=9;i++){ //给数组赋值
arr[a++][b++] = i;
if(i%3==0){ //如果i是3的倍数——————???为什么要判断是不是3的倍数
a = a-2;//————————————————???if...else里面的语句是什么意思,作用是什么
b = b-1;//————————————————???同上
}else{ //如果i不是3的倍数//————————————————???同上
a = a%3;
b = b%3;
}//————————————————————????九宫格的每一行、每一列、对角线都等于15,
}//————————————————————???但是这里连一个15这个数字都没有出现,但还是成功输出
//————————————————————???他是怎么做到的
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.print("\n")

感觉看完整个程序完全不理解 程序为什么要这样编。思路是什么完全不明白,请哪位大神帮忙解答一下,谢谢!

心语2016
浏览 1779回答 1
1回答

染红_街道

数组越界了吧,  它上面的
随时随地看视频慕课网APP

相关分类

Java
我要回答