JAVA 求两个矩阵相乘的积

import java.util.*;
import javax.swing.*;

public class multiMetrix {
//矩阵相乘方法
public static void multiMetrixAandB(int metrixA[][] , int metrixB[][]){
int result[][] = new int[metrixA.length][metrixB[0].length];
int x,i,j,tmp=0;
for(i =0;i<metrixA.length;i++){
for(j = 0;j<metrixB[0].length;j++){
for( x=0;x<metrixB.length;x++)
tmp += metrixA[i][x] * metrixB[x][j];//矩阵AB中a_ij的值等于矩阵A的i行和矩阵B的j列的乘积之和
 
  result[i][j] = tmp;
  tmp = 0; //中间变量,每次使用后都得清零
}
}
//打印计算后的矩阵
System.out.println("\n"+"矩阵A*B的值为:");
for( i=0;i<result.length;i++){
for(j=0;j<result[i].length;j++){
System.out.print(result[i][j] + " ");
}
System.out.print("\n");
}
}
public static void main(String args[]){
Scanner input = new Scanner(System.in);
System.out.print("请输入矩阵A的行数和列数:");
int row = input.nextInt();
int column = input.nextInt();
System.out.println("请输入"+row +"行" + column+"列的矩阵A:");
int metrixA[][] = new int [row][column];//NEW一个数组,保存矩阵A
for(int i =0;i<row;i++)
for(int j =0;j<column;j++)
metrixA[i][j] = input.nextInt();
System.out.print("请输入矩阵B的行数和列数:");
int rowB = input.nextInt();
if(rowB != column)
JOptionPane.showMessageDialog(null,"矩阵A(m*n)和矩阵B(u*v)相乘需要满足 n==u!即A(m*n)-B(n*k)","温馨提示",JOptionPane.INFORMATION_MESSAGE);
int columnB = input.nextInt();
System.out.println("请输入"+rowB +"行" + columnB+"列的矩阵B:");
int metrixB[][] = new int [rowB][columnB];//NEW一个数组,保存矩阵B
for(int i =0;i<rowB;i++)
for(int j =0;j<columnB;j++)
metrixB[i][j] = input.nextInt();
multiMetrixAandB(metrixA,metrixB);
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值