Project II: Transform Matrix
你将要创建一个类Transformation.java,并在这个类里设计两个静态方法,对一个二维数组进行相应变换:
- transform() 
- convert() 
两个方法的的签名和功能如下所示:
- public static int[][] transform(int[][] matrix) 
transform方法会对二维数组的元素进行修改,修改规则如下所示:
- 假设i和j分别表示matrix元素的行下标和列下标 
- 如果i和j相等,matrix[i][j]变为元素值的平方 
- 否则,如果i+j是奇数,matrix[i][j]变为(i+j)和元素值乘积的相反数 
- 否则,如果i+j是偶数,matrix[i][j]变为(i-j)和元素值乘积的绝对值 
- 最后返回更新后的矩阵 - newMatrix。matrix矩阵需要保持不变。
Example:

经过变换后,newMatrx如下所示:

2. public static int[][] convert(int[][] matrix)
将二维数组的行列互换的操作称为转置。例如,一个二维数组matrix如下所示:

将数组转置后,新的二维数组数组如下所示:

可以发现,原数组的第一行变成了新数组的第一列,第二行变成了第二列...第n行变成了新数组的第n列。
最后将转置后的数组沿着中心垂直翻转,得到最终矩阵newMatrix并返回。

原数组matrix依然保持不变。
任务 
- 在Transformation中实现transform()方法。 
- 在Transformation中实现convert()方法。 
- 在main()中测试两个函数。每个函数至少要准备两组数据测试。 
Last updated