/** * Created by lihaibin02 on 2016/9/19. */ public class Matrix_Operation { //实现矩阵的转置 public static void reverse_Function() { int a[][] = {{1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4}}; int b[][] = new int[4][7];//b.length求行的长度,b[0].length求列的长度 for (int i = 0; i < 4; i++) { for (int j = 0; j < 7; j++) { b[i][j] = a[j][i]; } } result_Function(a, b); System.out.println("矩阵a:"); for (int i = 0; i < 7; i++) { for (int j = 0; j < 4; j++) { if (j < 3) { System.out.print(a[i][j] + " "); } else { System.out.println(a[i][j] + " "); } } } System.out.println("矩阵a转置:"); for (int i = 0; i < 4; i++) { for (int j = 0; j < 7; j++) { if (j < 6) { System.out.print(b[i][j] + " "); } else { System.out.println(b[i][j] + " "); } } } } //实现原矩阵与转置后的矩阵的乘机 public static void result_Function(int a[][], int b[][]) { int c[][] = new int[7][7]; for (int r = 0; r < 7; r++) { for (int h = 0; h < 7; h++) { for (int k = 0; k < 4; k++) { c[r][h] += a[r][k] * b[k][h]; } } } for (int i1 = 0; i1 < 7; i1++) { for (int j1 = 0; j1 < 7; j1++) { if (j1 < 6) { System.out.print(c[i1][j1] + " "); } else { System.out.println(c[i1][j1] + " "); } } } } public static void main(String[] args) { reverse_Function(); } } ----------- 输出效果: 矩阵a * 转置矩阵b: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 矩阵a: 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 矩阵a转置: 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3 3 3 4 4 4 4 4 4 4 Process finished with exit code 0