Я использую следующее
function weightedRandom(min, max) {
return Math.round(max / (Math.random() * max + min));
}
. Это мое «взвешенное» случайное значение, в котором я использую обратную функцию «x» (где x является случайным между min и max) до генерировать взвешенный результат, где минимум - самый тяжелый элемент, а максимальный - самый легкий (наименьший шанс получить результат)
. Таким образом, в основном, используя weightedRandom(1, 5)
, шансы получить 1 выше чем a 2, которые выше, чем 3, которые выше, чем 4, что выше, чем 5.
Не может быть полезно для вашего варианта использования, но, вероятно, полезно для людей, отправляющих этот же вопрос. / g3]
После 100 итераций попробуйте, это дало мне:
==================
| Result | Times |
==================
| 1 | 55 |
| 2 | 28 |
| 3 | 8 |
| 4 | 7 |
| 5 | 2 |
==================
Ознакомьтесь с https://wiki.eclipse.org/Eclipse.ini Мне пришлось изменить аргумент vm в моем файле eclipse.ini, и для параметров JRE я выбрал «Использовать JRE по умолчанию ( в настоящее время 'Java SE 8 [1.8.0_172]') ', когда я создавал проект scala. Это исправило эту ошибку для меня.
Я использую OS X, поэтому мне пришлось добавить
-vm
/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java
выше -vmargs