public class Transform {
public int[][] transformImage(int[][] mat, int n) {
int[][] result = mat;
for(int i = 0;i < n;i++){
for(int j = 0;j < n;j++){
result[i][j] = mat[n-j-1][i];
}
}
return result;
}
public static void main(String[] args){
int[][] mat = {{1,2,3},{4,5,6},{7,8,9}};
//3是mat的矩阵mat的阶数
int[][] result = new Transform().transformImage(mat,3);
for(int i = 0;i < 3;i++){
for(int j = 0;j < 3;j++){
System.out.print (result[i][j]+" ");
}
System.out.println();
}
}
}/***为什么输出不是
7 4 1
8 5 2
9 6 3
竟然是这样的结果:
7 4 7
8 5 4
9 4 7
*****/
public int[][] transformImage(int[][] mat, int n) {
int[][] result = mat;
for(int i = 0;i < n;i++){
for(int j = 0;j < n;j++){
result[i][j] = mat[n-j-1][i];
}
}
return result;
}
public static void main(String[] args){
int[][] mat = {{1,2,3},{4,5,6},{7,8,9}};
//3是mat的矩阵mat的阶数
int[][] result = new Transform().transformImage(mat,3);
for(int i = 0;i < 3;i++){
for(int j = 0;j < 3;j++){
System.out.print (result[i][j]+" ");
}
System.out.println();
}
}
}/***为什么输出不是
7 4 1
8 5 2
9 6 3
竟然是这样的结果:
7 4 7
8 5 4
9 4 7
*****/
for(int i = 0;i < n;i++){
for(int j = 0;j < n/2;j++){
result[i][j] = mat[n-j-1][i];
}
}
值传递与引用传递
get it
public class test {
public int[][] transformImage(int[][] mat, int n) {
int[][] result = new int[n][n];
for(int i = 0;i < n;i++){
for(int j = 0;j < n;j++){
result[i][j] = mat[n-j-1][i];
}
}
return result;
}
public static void main(String[] args){
int[][] mat = {{1,2,3},{4,5,6},{7,8,9}};
//3是mat的矩阵mat的阶数
int[][] result = new test().transformImage(mat,3);
for(int i = 0;i < 3;i++){
for(int j = 0;j < 3;j++){
System.out.print (result[i][j]+" ");
}
System.out.println();
}
}
}
这只是传了一个引用,后面对result的修改也是对mat的修改。
需要为result new一个二维数组,分配存储空间。
public int[][] transformImage(int[][] mat, int n) {
int[][] result=new int[3][3];
for(int i = 0;i < n;++i){
for(int j = 0;j < n;++j){
result[i][j] = mat[j][i];
}
}
return result;
}
for(int i = 0;i < n;i++){
for(int j = 0;j < n;j++){
result[i][j] = mat[n-j-1][i];
}
}
--------------------------------------------------------
int[][] result = new int[mat.length][];