- 实验过程
请仔细对照实验手册,针对四个问题中的每一项任务,在下面各节中记录你的实验过程、阐述你的设计思路和问题求解思路,可辅之以示意图或关键源代码加以说明(但无需把你的源代码全部粘贴过来!)。
为了条理清晰,可根据需要在各节增加三级标题。
-
- Magic Squares
在这里简要概述你对该任务的理解。
Magic Squares即幻方,n阶幻方是一个正方形n×n个数(通常是不同的整数)的排列,使得所有行、所有列和两个对角线中的n个数总和为同一常数。
-
-
- isLegalMagicSquare()
-
按步骤给出你的设计和实现思路/过程/结果。
在main()函数中调用五次isLegalMagicSquare()函数,将5个文本文件名分别作为参数输入进去,看其是否得到正确的输出(true,false)。
首先,逐行阅读文件,使用myLine.split("\t")方法划分得到一个字符串数组,数组的长度即为矩阵的阶,使用正则表达式str.matches(“[0-9]+”)判断其是否为合法数字。转换得到二维int型数组。
随后遍历每个元素,求各行、各列及对角线之和,判断是否相等,是返回true,否则返回false。
-
-
- generateMagicSquare()
-
按步骤给出你的设计和实现思路/过程/结果。
计算初始位置(0,n/2),赋值为1,每次取当前位置的右上角的位置,设置的值每次加1,如果当前行是第一行,则下一行为最后一行,如果当前列是最右边的列,则下一次取左边第一列,重复平方次,就对完成了整个矩阵赋值。
-
- Turtle Graphics
在这里简要概述你对该任务的理解。
1、获取任务的源代码,在本地创建</