帮忙注释一下:)谢谢(java) - 爱问答

(爱问答)

帮忙注释一下:)谢谢(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的倍数的数组,满意请采纳

相关标签:谢谢java

下一篇:请大佬解释下这个程序运行结果的原因

上一篇:单片机c语言程序,怎样把他缩小点?

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?