Случайное число с вероятностями
Мне интересно, что было бы лучшим способом (например, в 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.
Что бы вы сказали?