row 是横向的, 排的意思 column 是纵向的, 列的意思 输入的a数组和b数组,c数组用于输出结果。ra 是 row a ca是column a public class MatrixMultiply { public static void main(String args[]) { int a[][] = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } }; int b[][] = { { 1, 5, 9 }, { 2, 6, 10 }, { 3, 7, 11 }, { 4, 8, 12 } }; int c[][] = new int[3][3]; matrixMultiply(a, b, c, 3, 4, 4, 3); for (int i = 0; i <= 2; i++) for (int j = 0; j <= 2; j++) System.out.println(c[i][j]); } public static void matrixMultiply(int[][] a, int[][] b, int[][] c, int ra, int ca, int rb, int cb) { if (ca != rb) // 不能乘,a行不等于b列 throw new IllegalArgumentException("矩阵不可乘"); for (int i = 0; i < ra; i++) for (int j = 0; j < cb; j++) { int sum = a[i][0] * b[0][j]; for (int k = 1; k < ca; k++) sum += a[i][k] * b[k][j]; c[i][j] = sum; } } }