java计算两个矩阵相乘

import java.util.Scanner;
public class matrix {
	public static double[][] multiplyMatrix(double[][] a,double[][] b){

		 if(a[0].length != b.length) {
		        System.out.println("输入错误");
		        return null;
		 }

		 double[][] c=new double[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 printMatrix(double[][] c) {

			if (c!=null) {
				for(int i=0;i<c.length;i++) {					
					for(int j=0;j<c[0].length;j++) 
						System.out.printf("%-8.1f",c[i][j]); 
				System.out.println();
		        }
		} 
		
			else {System.out.println("无效");}

		System.out.println();
		}

		public static void main(String[] args) {

			Scanner input=new Scanner(System.in);
			System.out.println("输入第一个矩阵的行");
			int m=input.nextInt();
			System.out.println("输入第一个矩阵的列");
			int n=input.nextInt();
			System.out.println("输入第二个矩阵的列");
			int k=input.nextInt();
			
			double [][]a=new double[m][n]; 
		    double [][]b=new double[n][k]; 
		    
		    System.out.println("输入矩阵a:");
		     for(int i=0;i<m;i++)
		      for(int j=0;j<n;j++)
		      a[i][j]=input.nextDouble();
		     
		     System.out.println("输入矩阵b:");
		     for(int i=0;i<n;i++)
		      for(int j=0;j<k;j++)
		      b[i][j]=input.nextDouble();
		     
		      double [][]c=multiplyMatrix(a, b);
		      
		      System.out.println("Matrix a:");
		      printMatrix(a);   
		      System.out.println("Matrix b:");
		      printMatrix(b);  
		      System.out.println("Matrix c:");
	          printMatrix(c);   
		      input.close(); 

		}

		}
	
	



  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值