Случайное число в двумерном массиве - PullRequest
0 голосов
/ 01 марта 2012

Я хочу сделать случайное число в массиве 2d.

int i= 100;

int j= 200;

a[i][j] // is the random value between [0,1].

Мой вопрос: я хочу исправить a[1][j], a[2][j], ... , a[20][j]= 0.4

И a[i][1],a[i][2], ... , a[i][30]=0.4

Дляостальные случайны между [0,1], за исключением 0.4
Как я могу это сделать?

Ответы [ 3 ]

2 голосов
/ 01 марта 2012

Стоит запомнить, что индекс первого массива равен 0, а не 1

Я бы заполнил матрицу случайными значениями, а затем использовал бы один или два цикла для заполнения известных значений.

1 голос
/ 01 марта 2012

Если я правильно понимаю ваш вопрос, вы хотите, чтобы строка 20 вашего массива была заполнена на 0,4 и такой же для столбца 30 вашего массива.Это можно сделать, используя два простых цикла for:

public static void main(String args[])
{
    for(int i=0; i<a.length; i++)
        a[20][i] = 0.4; //fills row 20 with 0.4

    for(int i=0; i<a[30].length; i++)
        a[i][30] = 0.4; //fills column 30 with 0.4
}

После этого достаточно просто заполнить массив случайными числами простой проверкой, пока вы делаете это, чтобы не перезаписывать их.Так, например:

for(int i=0; i<a.length; i++){
        for(int j=0; i<a[i].length; j++){
            if(a[i][j] != 0.4)
                a[i][j] = //insert random number generator here.
        }
    }
0 голосов
/ 01 марта 2012

, как сказал Питер, просмотрите массив с 2 циклами For и Math.random () и установите фиксированные значения после этого.

...