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返回 a 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 回答