21xrx.com
2024-11-22 03:46:53 Friday
登录
文章检索 我的文章 写文章
Java中的矩阵乘法
2021-07-08 17:55:25 深夜i     --     --
J a v a

Java程序将两个矩阵相乘,在乘法之前,我们检查它们是否可以相乘。 我们使用最简单的乘法方法。 有更有效的算法可用。 此外,这种方法对于包含大量元素为零的稀疏矩阵效率不高。

 

Java矩阵乘法

import java.util.Scanner;
 
class MatrixMultiplication
{
  public static void main(String args[])
  {
    int m, n, p, q, sum = 0, c, d, k;
 
    Scanner in = new Scanner(System.in);
    System.out.println("Enter the number of rows and columns of first matrix");
    m = in.nextInt();
    n = in.nextInt();
 
    int first[][] = new int[m][n];
 
    System.out.println("Enter elements of first matrix");
 
    for (c = 0; c < m; c++)
      for (d = 0; d < n; d++)
        first[c][d] = in.nextInt();
 
    System.out.println("Enter the number of rows and columns of second matrix");
    p = in.nextInt();
    q = in.nextInt();
 
    if (n != p)
      System.out.println("The matrices can't be multiplied with each other.");
    else
    {
      int second[][] = new int[p][q];
      int multiply[][] = new int[m][q];
 
      System.out.println("Enter elements of second matrix");
 
      for (c = 0; c < p; c++)
        for (d = 0; d < q; d++)
          second[c][d] = in.nextInt();
 
      for (c = 0; c < m; c++) {
        for (d = 0; d < q; d++) {
          for (k = 0; k < p; k++)
            sum = sum + first[c][k]*second[k][d];
 
          multiply[c][d] = sum;
          sum = 0;
        }
      }
 
      System.out.println("Product of the matrices:");
 
      for (c = 0; c < m; c++) {
        for (d = 0; d < q; d++)
          System.out.print(multiply[c][d]+"\t");
 
        System.out.print("\n");
      }
    }
  }
}

 

程序输出:

下载矩阵乘法程序类文件。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复