标量乘法

时间:2015-09-30 10:26:01

标签: java arrays matrix

修改 问题是:标量乘法被定义为B = A * s,其中B和A是大小相等的矩阵(2D数组,在本例中我们使用整数),s是标量值。 A的每个元素乘以s,然后存储在矩阵B的相应元素中。

编写一个接受4x4矩阵和标量值的程序,并执行标量乘法,将结果存储在单独的4x4矩阵中。

import java.util.*;
public class arrayExercises {

public static void main (String [] args){

//Scalar Value  
Scanner sc = new Scanner (System.in);
int scalar = 0;

//Array for A
int matrix [][];
matrix = new int [4][4];

System.out.println("Enter the numbers in the 4x4 matrix");
for (int i=0; i < matrix.length; i++)
    {
    for (int j =0; j<matrix[i].length; j++)
        matrix[i][j] = sc.nextInt();    
}

System.out.println("Enter scaler value:");
scalar = sc.nextInt();



sc.close(); 
}

}

2 个答案:

答案 0 :(得分:1)

没有给出直接的解决方案。给你一个暗示。

到目前为止,您已经创建了一个矩阵并且使用2 for for循环,您已经根据用户输入设置了矩阵的值。

现在要获得标量乘法,你需要做一个类似的操作。创建与前一个矩阵大小相同的另一个矩阵。并以类似的方式在2循环内将旧矩阵的每个元素与标量值相乘,并将其设置为新矩阵的相应索引。

答案 1 :(得分:0)

System.out.println("Enter scaler value:");
scalar = sc.nextInt();

int scalarMatrix [][];
scalarMatrix = new int [4][4];

for (int i=0; i < scalarMatrix.length; i++)
    {
    for (int j =0; j<scalarMatrix[i].length; j++)
        scalarMatrix[i][j] = (int)(matrix[i][j]*scalar);    
}

这些方面的东西应该有效。你正在做的是从初始矩阵中获取每个结果,并基本上将它们复制到新矩阵中,但是当你这样做时,将它乘以变量“标量”。