站群管理软件,有客多小程序,在线定制,西安网站制作自己是个新手#xff0c;研究java数据结构#xff0c;看到两个n阶矩阵相乘的题目#xff0c;自己就试着写了一个简单的demo#xff0c;哪里有不好的地方#xff0c;也希望大家多提提意见#xff0c;直接上代码了#xff1a;package com.shujujiegou01;public class JuZh…自己是个新手研究java数据结构看到两个n阶矩阵相乘的题目自己就试着写了一个简单的demo哪里有不好的地方也希望大家多提提意见直接上代码了package com.shujujiegou01;public class JuZhenChengFa {// 计算两个N阶矩阵相乘public static void squareMult(int[][] a, int[][] b, int[][] c, int n) {for (int i 0; i n; i) {for (int j 0; j n; j) {c[i][j] 0;for (int k 0; k n; k) {c[i][j] a[i][k] * b[k][j];}}}}// 打印矩阵public static void printArray(int a[][]) {for (int k 0; k a.length; k) {for (int l 0; l a[k].length; l) {// 打印每一个元素及其所在坐标位置System.out.print(a[k][l] - ( k , l ) ,);}System.out.println();}}// 矩阵行列互换public static void swapRowCloumn(int a[][]) {int num a.length;//是为了方便自己调试才这么定义的int e[][] new int[num][num];for (int k 0; k num; k) {for (int l 0, x a[k].length; l x; l) {// 打印每一个元素及其所在坐标位置e[k][l] a[l][k];System.out.print(e[k][l] - ( k , l ) ,);}System.out.println();}}// 主函数测试public static void main(String[] args) {// TODO Auto-generated method stubint a[][] new int[][] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };int b[][] new int[][] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };int c[][] new int[3][3];System.out.println(矩阵A:);printArray(a);System.out.println(互换行和列后的A矩阵:);swapRowCloumn(a);// printArray(a);System.out.println(矩阵B:);printArray(b);System.out.println(互换行和列后的A矩阵:);swapRowCloumn(b);// printArray(b);// 调用squareMult(a, b, c, 3);// 打印System.out.println(矩阵C:);printArray(c);// 调换过后计算的结果System.out.println(调换行和列的矩阵C:);swapRowCloumn(c);}}附上运行结果截图标红的部分个人感觉有问题调用了行列互换方法了按理来说应该计算c矩阵是按照行列互换后的A矩阵和B矩阵来计算的应该直接得到红框的答案但是计算出来发现还是根据旧的A,B矩阵的乘积来计算的。感觉哪里有问题但是说不上来