数组矩阵转置的核心在于在遍历的时候用上这一句:
arr2[j][i] =arr[i][j];
就可以让原始的行等于转换后的列;
让原始的列等于转换后的行;
import static com.sun.org.apache.bcel.internal.classfile.Utility.printArray;
public class ZhuanZhi {
public static void main(String[] args) {
int arr[][] = new int[][]{{1,2,3},{4,5,6},{7,8,9}}; //创建并赋值二维数组
System.out.println("初始矩阵是:"); //输出初始二维数组
printArray(arr);
int arr2[][] = new int[arr.length][arr.length];
for (int i = 0; i <arr.length; i++) {
for (int j = 0; j <arr[i].length ; j++) {
arr2[j][i] =arr[i][j]; //让行列进行交换从而达到转置要求
}
}
System.out.println("转置后矩阵是:");
printArray(arr2); //输出转置后的数组
}
private static void printArray(int[][] arr){ //自定义遍历数组的方法
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length; j++) {
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}
}
运行结果截图: