1

これは私がこれまでに得たものです...

 public static void main(String[] args) {
        Random random= new Random();
        Matrix mR = new Matrix(3,3,random.nextDouble()) ;
        System.out.println("Here is a 3x3 matrix with random values " +Arrays.deepToString(mR.getArray()));

    }

問題は、これを印刷すると、すべての値が同じになることです。必要なのは、インデックスごとに異なる値です。これは、配列を作成し、それにランダムな値を割り当て、それをマトリックスにコピーするだけで実行できることを私は知っています。しかし、私はこれを行列mRから直接行う必要があります。

4

1 に答える 1

2

Random.nextDoubleを返すdoubleので、上記のコードでは次のコンストラクターを呼び出しています。

Matrix(int m, int n, double s) 

これは、m行n列の定数行列を構成します。

代わりに、この静的メソッドを呼び出す必要があります。

public static Matrix random(int m, int n)

例えば、

Matrix mR = Matrix.random(3, 3);

詳細については、ドキュメントを参照してください。

于 2013-03-13T21:31:09.883 に答える