区分的な乗算を実行するメソッドを作成する割り当てがあります。私のメソッドヘッダーは次のようになります。
public static double [][] multiply(int [][] a, double [][]b)
次元が一致しない場合は null を返します。1 番目と 2 番目の次元を確認するには、次を使用します: a.length と a[0].length 配列が長方形であると安全に想定できます。
行列はこの形式です
a b c
d e f
g h i
&
j k l
m n o
p q r
ここに私が出てきたものがあります:
Random randomGenerator = new Random();
a = new int [a.length][a[0].length];
for (int i=0; i<a.length; i++) {
for(int j=0; j<a[0].length; j++) {
a[i][j]=(int)(randomGenerator.nextDouble()*255.0);
}
}
for (int i=0; i<a.length; i++) {
for(int j=0; j<a[0].length; j++) {
System.out.print(a[i][j]+" ");
}
System.out.println();
}
b=new double[b.length][b[0].length];
for (int i=0; i<b.length; i++) {
for(int j=0; j<b[0].length; j++) {
b[i][j]=randomGenerator.nextDouble()*255.0
}
}
double[][] result = new double[3][3];
result = a[i][j]*b[i][j];
if([a.length]!=[b.length]&&[a[0].length]!=[b[0].length]){
return null;
}
else{
return result;
}
ユーザーが自分でディメンションを選択することは可能ですか? どうやってやるの?
このコードは、行列の各要素を行列の他の要素で乗算しますか?
すべての条件は満たされていますか?