2015-09-30 45 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);  
} 

沿着這些線應該工作。你正在做的是從初始矩陣中獲得每個結果,然後將它們複製到新矩陣中,但將它與變量「標量」相乘。