两个矩阵的相加和相乘

//两个矩阵相加和相乘
public class TestMatrixOperation
{
	public static void main(String[] args) 
	{
		int [][]matrix1=new int[5][5];
		int [][]matrix2=new int[5][5];
		//随机分配值
		
		for(int i=0;i<matrix1.length;i++)
			for(int j=0;j<matrix2.length;j++){
			matrix1[i][j]=(int)(Math.random()*10);
		    matrix2[i][j]=(int)(Math.random()*10);
		}
		//两个矩阵相加并输出结果
		int[][]resultMatrix=addMatrix(matrix1,matrix2);
		System.out.println("两个矩阵相加:");
		printResult(matrix1,matrix2,resultMatrix,'+');
		//两个矩阵相乘并输出结果
		resultMatrix=multiplyMatrix(matrix1,matrix2);
		System.out.println("两个矩阵相乘:");
		printResult(matrix1,matrix2,resultMatrix,'*');

	}
	//两个矩阵相加的方法
	public static int[][] addMatrix(int[][] m1,int[][] m2){
	int[][]result=new int[m1.length][m1[0].length];
	for(int i=0;i<result.length;i++)
		//for(int j=0;j<result.length;j++)
		for(int j=0;j<result[0].length;j++)
		result[i][j]=m1[i][j]+m2[i][j];
	return result;
	}
	//两个矩阵相乘的方法
	public static int[][] multiplyMatrix(int[][] m1,int[][] m2){
	int[][]result=new int[m1.length][m2[0].length];
	for(int i=0;i<m1.length;i++)
		for(int j=0;j<result.length;j++)
		for(int k=0;k<result[1].length;k++)
		result[i][j]+=m1[i][k]*m2[k][j];
	return result;
	}
	//输出结果
	public static void printResult(
		int[][] m1,int[][] m2,int[][] m3,char op){
		System.out.println("第一个矩阵是:");
		for(int i=0;i<m1.length;i++){
			for(int j=0;j<m1[0].length;j++)
			System.out.print(" "+m1[i][j]);
		System.out.println(" ");
		}
		System.out.println("第二个矩阵是:");
		for(int i=0;i<m2.length;i++){
			for(int j=0;j<m2[0].length;j++)
			System.out.print(" "+m2[i][j] );
		System.out.println(" ");
		}
		System.out.println("两个矩阵做"+op+"运算");
		for(int i=0;i<m3.length;i++){
			for(int j=0;j<m3[0].length;j++)
				System.out.print("\t"+m3[i][j]);
			System.out.println(" ");
		}
	}
}
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值