2015-09-30 43 views
-1

EDIT 问题是这样的:标量乘法被定义为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

问题是什么? – mathematician1975

+0

嗨。如果你表明你已经尝试过某些东西,人们会更愿意帮助你。你有没有工作的部分解决方案? – axiom

+0

问题是:标量乘被定义为B = A * s,其中B和A是相同大小的矩阵(二维数组数组,在这个例子中我们使用整数),s是标量值。将A的每个元素乘以s,然后将其存储在矩阵B中的相应元素中。 编写接受4x4矩阵和标量值的程序,并执行标量乘法,将结果存储在单独的4x4矩阵中。 – Belle

回答

1

没有给予直接的解决方案。相反,给你一个提示。

到目前为止,你已经创建了一个矩阵和2 for循环你已经设置矩阵的值从用户输入。

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

+0

谢谢!我想我现在明白了。 – Belle

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);  
} 

沿着这些线应该工作。你正在做的是从初始矩阵中获得每个结果,然后将它们复制到新矩阵中,但将它与变量“标量”相乘。