修改 问题是:标量乘法被定义为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();
}
}
答案 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);
}
这些方面的东西应该有效。你正在做的是从初始矩阵中获取每个结果,并基本上将它们复制到新矩阵中,但是当你这样做时,将它乘以变量“标量”。