2013-03-13 2 views
0

это то, что у меня до сих пор ...Java - с помощью JAMA, чтобы создать матрицу 3by3 со случайными значениями

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.

ответ

1

Random.nextDouble возвращает double, поэтому в коде выше вы вызываете этот конструктор:

Matrix(int m, int n, double s) 

, строящие м-на-н постоянную матрицу.

Вы должны просто вызвать статический метод вместо:

public static Matrix random(int m, int n) 

Е.Г.,

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

Смотрите doc для получения дополнительной информации.

+0

Спасибо. Я забыл, что в документах ... – Poensvah