帮忙注释一下:)谢谢(java)
public static void main(String[] args) {
int arr[][] = new int[3][3];
int a = 2;
int b = 1;
for (int i = 1; i <= 9; i++) {
arr[a++][b++] = i;
if (i % 3 == 0) {
a = a - 2;
b = b - 1;
}
else {
a = a % 3;
b = b % 3;
}
}
}
}
首先,计算机程序不做每行注释的,因为这样没有意义,它的每个语句就是一个简单的语法
如
int a = 2; //定义变量a并初始化为2
若这种基本的语法不能理解,那可以肯定的是你先要去学习语法了
其次,看懂一个程序主要是要理解作者的思路,这个要比自己写程序难,所以不推荐初学者做这个,因为即使你能一知半解的基本看明白程序的思路,实在不能在程序中吸收什么知识,自己写程序还是不会,而更好的是自己按自己的想法写程序
这段程序就是生成一个在界的幻方,
具体算法为
从数组的2,1位置开始(第3行,第2列),放置1~9个数
a=2,b=1;
每次,行、列各加1
a++/b++;
若要放置的数能被3整除
if (i % 3 == 0)
那么行减2列减1,
a = a - 2;b = b - 1;
否则将行,列取3的余数
a = a % 3;b = b % 3;
这个是常用幻方的一种算法
结果的arr为
4 9 2
3 5 7
8 1 6
而要生成这样的幻方方法肯定不至这一个
主函数,定义一个整型的数组,然后对数组循环,输出所有3的倍数的数组,满意请采纳
热门标签: