Случайное число с вероятностями

Мне интересно, что было бы лучшим способом (например, в Java) генерировать случайные числа в пределах определенного диапазона, где каждое число имеет определенную вероятность произойти или нет?

например

Генерация случайных целых чисел из [1; 3] со следующими вероятностями:

P (1) = 0,2

P (2) = 0,3

P (3) = 0,5

Сейчас я рассматриваю подход для генерации случайного целого числа в пределах [0; 100] и делаю следующее:

Если это в пределах [0; 20] -> Я получил свой случайный номер 1.

Если это в пределах [21; 50] -> Я получил свой случайный номер 2.

Если оно находится в пределах [51; 100] -> Я получил свой случайный номер 3.



Что бы вы сказали?

Ответы на вопрос(10)

Ваш ответ на вопрос