Я хочу написать Java-код для создания массива случайных чисел в диапазоне [1,4]. Длина массива равна N, которая предоставляется во время выполнения. Проблема заключается в том, что диапазон [1,4] не равномерно распределены:Создайте массив случайных чисел с неравномерным распределением
Это означает, что если создать массивы с N = 100, число «1», будет появляться в среднем 40 раз в массиве , число «2» 10 раз и т. д.
Сейчас я использую этот код для создания единых распределенных случайных чисел в диапазоне [1,4]:
public static void main(String[] args)
{
int N;
System.out.println();
System.out.print("Enter an integer number: ");
N = input.nextInt();
int[] a = new int[N];
Random generator = new Random();
for(int i = 0; i < a.length; i++)
{
a[i] = generator.nextInt(4)+1;
}
}
Как реализовать это с неоднородным распределением, как показано на графике выше?
примечание стороны: нет необходимости объявлять 'Int N,' в верхней части метода. –
Возможный дубликат [Создание неравномерных случайных чисел] (http://stackoverflow.com/questions/977354/generating-non-uniform-random-numbers) – Raedwald