在 Java 中查找矩阵的标量乘法?

javaobject oriented programmingprogramming更新于 2025/2/21 17:48:17

在 Java 中,Array 是一个对象。它是一种非原始数据类型,用于存储类似数据类型的值。Java 中的矩阵不过是一个代表多行和多列的多维数组。

标量乘法不过是矩阵与实数之间的乘法。此乘法的结果为矩阵格式。

根据问题陈述,我们必须找到矩阵的标量乘法。

让我们深入研究这篇文章,了解如何使用 Java 编程语言完成它。

向您展示一些实例

实例 1

假设原始矩阵是 {
   {10, 20, 30},
   {40, 50, 60},
   {70, 80, 90}
}

标量值:5

结果矩阵 −
 50 100 150 
200 250 300
350 400 450

实例-2

假设原始矩阵为{
   {10, 20, 30, 40},
   {40, 50, 60, 20},
   {70, 80, 90, 90}
}

标量值:12

结果矩阵 −
120 240  360
480 600  720
840 960 1080

实例-3

假设原始矩阵为{
   {12, 123, 12131},
   {11, 67, 896},
   {233, 234, 678}
}

标量值:3

结果矩阵 −
36 	369 	36393
33 	201 	2688
699 	702 	2034

算法

步骤 1 - 声明并初始化一个整数类型的多维数组。

步骤 2 - 声明另一个空的整数类型的多维数组来存储结果矩阵元素。

步骤 3 - 启动嵌套的 for 循环,将标量值与给定的矩阵元素相乘,并将这些乘积值存储到该空矩阵中。

步骤 4 - 将结果矩阵打印为输出。

语法

要获取数组的长度(该数组中的元素数),数组有一个内置属性,即 length

下面是它的语法-

array.length;

其中,"array" 指的是数组引用。

多种方法

我们提供了不同方法的解决方案。

  • 通过使用矩阵的静态初始化

  • 通过使用用户定义的方法

让我们逐一查看程序及其输出。

方法 1:通过使用矩阵的静态初始化

在这种方法中,数组元素将在程序中初始化。然后根据算法计算标量乘法。

示例

public class Main {
   public static void main(String[] args) {
      
      //声明并初始化一个整数类型多维数组
      int inputMatrix[][] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
            
      //声明一个变量来存储标量值
      int s = 2;
            
      //声明一个变量来存储给定的矩阵长度值
      int len = inputMatrix.length;
      System.out.println("Given Matrix: ");
      for (int i = 0; i < len; i++){
         for (int j = 0; j < len; j++){
            System.out.print(inputMatrix[i][j] + " ");
         }
         System.out.println();
      }
      System.out.println("The scalar value is: " + s);
             
      //声明一个空的整数类型多维数组
      int temp[][] = new int[len][len];
             
      //启动循环来计算标量乘法
      for (int i = 0; i < len; i++) {
         for (int j = 0; j < len; j++){
            temp[i][j] = inputMatrix[i][j] * s;
         }
      }
      System.out.println("给定矩阵的标量乘法是:");
            
      //启动循环来打印结果矩阵
      for (int i = 0; i < len; i++){
         for (int j = 0; j < len; j++){
            System.out.print(temp[i][j] + " ");
         }
         System.out.println();
      }
   }
}

输出

给定矩阵:
1 2 3
4 5 6
7 8 9
标量值为:2
给定矩阵的标量乘法为:
2 4 6
8 10 12
14 16 18

方法 2:使用矩阵的动态初始化

在此方法中,数组元素将在程序中初始化。然后通过传递此数组作为参数来调用用户定义的方法。在方法内部,按照算法计算矩阵的标量乘法。

示例

public class Main {
   public static void main(String[] args) {
        //声明一个整数类型的多维数组并添加一些随机值
        int matrix[][] = {{11, 22, 34}, {42, 25, 61}, {72, 83, 94}};
        //声明一个变量来存储标量值
        int scalar = 10;
        //调用用户定义的方法
        scalarMultiplication(matrix,scalar);
   }
   //用户定义的方法来计算标量乘法
   public static void scalarMultiplication(int[][] inputMatrix, int s) {
      //声明一个变量来存储给定的矩阵长度值
      int len = inputMatrix.length;
      System.out.println("Given Matrix: ");
      for (int i = 0; i < len; i++){
         for (int j = 0; j < len; j++){
            System.out.print(inputMatrix[i][j] + " ");
         }
         System.out.println();
      }
      System.out.println("标量值为:" + s);
      //声明一个空的整数类型多维数组
      int temp[][] = new int[len][len];
      //启动循环计算标量乘法
      for (int i = 0; i < len; i++) {
         for (int j = 0; j < len; j++){
            temp[i][j] = inputMatrix[i][j] * s;
         }
      }
      //输出屏幕
      System.out.println("给定矩阵的标量乘法是:");
      //启动循环以打印结果矩阵
      for (int i = 0; i < len; i++){
         for (int j = 0; j <len; j++){
            System.out.print(temp[i][j] + " ");
         }
         System.out.println();
      }
   }
}

输出

给定矩阵:
11 22 34
42 25 61
72 83 94
标量值为:10
给定矩阵的标量乘法为:
110 220 340
420 250 610
720 830 940

在本文中,我们探索了使用 Java 编程语言查找矩阵标量乘法的不同方法。


相关文章


有用资源