要编写一个两个矩阵相乘的JAVA方法,本人不懂,求高手帮忙!!万分感激!!

编写2个矩阵相乘的方法,方法头声明如下:
public static int[][] multiplyMatrix(int[][]a,int[][]b)
提示(1)为了使2个矩阵能够相乘,矩阵a的列数必修与矩阵b的行数相同。
(2)编写main方法测试时,可以自行定义并初始化2个数组作为实参,不必从键盘输入。

第1个回答  2011-12-03
你好,按照你的要求代码如下,给出了注释和运行结果,可以直接运行:

public class test2 {
public static int[][] multiplyMatrix(int[][] a, int[][] b) {
// 判断是否合法
if (a == null || a == null || a.length == 0 || b.length == 0
|| a[0].length != b.length) {
return null;
}
// 计算相乘
int[][] c = new int[a.length][b[0].length];
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < b[0].length; j++) {
for (int k = 0; k < a[0].length; k++) {
c[i][j] += a[i][k] * b[k][j];
}
}
}
return c;
}

public static void main(String[] args) {
int[][] a = new int[][] { { 1, 2, 3 }, { 1, 2, 3 } };
int[][] b = new int[][] { { 1, 2 }, { 1, 2 }, { 1, 2 } };
int[][] c = multiplyMatrix(a, b);

printMatrix(a);
printMatrix(b);
printMatrix(c);
}

// 打印矩阵
public static void printMatrix(int[][] c) {
if (c != null) {
for (int i = 0; i < c.length; i++) {
for (int j = 0; j < c[0].length; j++) {
System.out.print(c[i][j] + " ");
}
System.out.println();
}
} else {
System.out.println("无效");
}
System.out.println();
}
}

运行结果:
1 2 3
1 2 3

1 2
1 2
1 2

6 12
6 12本回答被提问者采纳
第2个回答  2011-12-03
这个你可以看看线性代数追问

我不是不懂怎样计算矩阵相乘,只是懂得如何编写JAVA程序!!

追答

循环 啊 循环嵌套 用数组

要编写一个两个矩阵相乘的JAVA方法,本人不懂,求高手帮忙!!万分...
public static void main(String[] args) { int[][] a = new int[][] { { 1, 2, 3 }, { 1, 2, 3 } };int[][] b = new int[][] { { 1, 2 }, { 1, 2 }, { 1, 2 } };int[][] c = multiplyMatrix(a, b);printMatrix(a);printMatrix(b);printMatrix(c);...

求opencv高手帮忙,关于矩阵(数组方面)的编程,万分感激,题目在问题补 ...
double cc=pow(-1,i+j)*CalculateLiner(tr,n-1);free(tr);return cc;} } \/\/\/矩阵转置, matrixAT=(matrixA)T, m,n为matrixA的行,列数

50分求高手帮忙申请个17权限证书 万分感激!
下午可以给你。包括别人所不提供的全套资料:证书、key、电脑端签名工具、手机端签名工具、教程。--- 』』』『『『++++++++++++++++++++ 智能机玩家联盟团队为您解答 附件已发出,请注意查收!

求高手帮忙分析这张XRD图谱!!!
分析XRD图谱,必须用到pdf卡片,一般都是使用MDI Jade软件进行处理。而你看到的那些峰,实际上就是晶胞晶面的衍射峰。你会经常在文献上看到别人的XRD图衍射峰上有“某某物质(111)”指的就是这个衍射峰是某某物质的111晶面衍射峰。你要的结果是谱图的定性分析,定量分析一般不会用XRD来标准,主要使用E...

跪求高手帮我解析塔罗牌情人二选一的六张牌~~万分感激~~!!!_百度...
如果你要追求他,那么从他身边的朋友入手吧,通过人际网拉近你们的距离。另外,增强你的亲和力,能让他不由自主的感受到你的温柔。你抽到的第三张牌是月亮的逆位,代表B对象的爱情个性——他在时间的沉淀里慢慢发现了你的好,也想要重新回到你的怀抱,可是,他却不懂,不是所有人,都愿意为一份逝去...

救急!请英语高手帮忙翻译。越快越好!本人万分感激
therefore Be the information system core and basal data technique to get a more and more extensive application.Oneself pass the Visual FoxPro 6.0 design the student of's information management system is exactly for the sake of the convenient school to carry on unifying the management ...

帮忙改改作文啊!求高手!
第一段gentleman改为gentlemen,用复数。第二段中schoolbag中间不用空格,第二行 it is common to parents ……改为“It is a commen phenomenon for parents to look……”可能会好些。because they think they can know everything about us 后面最好加上 from them。so there are always some ...

诚心求配置,及本人的一些想法,劳烦高手费心看一下!
配一台HTPC看高清,不上带HDMI的显卡怎么行。再有,既玩游戏还要看高清,要上Ati的显卡,还在推荐8600GT以及8600GTS这样级别的显卡。N卡的HDMI接口处理音频都不是原生的,但有一个问题,楼主要明白,现在液晶电视看高清,效果肯定不会好,因为存在一个“点对点问题”,具体你可以搜索查询一下。再有,...

C语言编写一个算术运算测试程序。要求完成10以内的加减运算。这个程序...
int s=1;while(s==1){ t=1,f=0;\/**提示用户输入*\/ printf("欢迎进入小学算数测试系统。。请输入你要挑战的题量:");scanf("%d",&n);int q=n;\/**以时间做种子*\/ srand((unsigned)time(NULL));\/\/题数都问了就结束 while(n!=0){ printf("问题%d:\\n",t);t++;\/**产生两个0...

跪求高手,帮忙翻译汉译英。万分感激。不要翻译器,不要任何软件,求真正...
Thought, I seek self-motivated, ideological consciousness has been greatly improved. I think that a person's worth is his contribution to society on others to measure, I'm joining a club, reasons are shift leaders must strive to realize one value, more is to encourage progressive ...

相似回答