Из ExponentialDistribution API: http://commons.apache.org/proper/commons-math/apidocs/org/apache/commons/math3/distribution/ExponentialDistribution.html#sample()
общественной двойная выборка()
Генерировать случайное значение отобранного из этого распределения. Реализация по умолчанию использует метод инверсии.
Алгоритм Описание: эта реализация использует метод инверсии для генерации экспоненциально распределенных случайных значений из равномерного .
Итак, когда вы видите (int)exp.sample()
, мы преобразуем его в это случайное значение, которое оно выбрало. exp - это пример ExponentialDistribution(4.0)
, который мы создали, поэтому метод exp.sample() ExponentialDistribution
sample()
.
Теперь для (int)
.
Размещение типа объекта или примитивного типа в скобках (в этом случае (int)
) перед другим объектом/примитивом называется «литье». Casting variables in Java
Довольно много, так sample()
возвращает double
, но timestamp
магазины ints
, нам нужно переключить один из их типов (они должны совпадать), и это waaaaay легче изменить exp.sample()
«с.
Итак, в целом, это говорит: «Возьмите объект exp
, позвоните по этому методу sample()
, а затем преобразуйте его в int
».
Идея не имеет. Что такое 'ExponentialDistribution'? –
Видимо, он находится в пакете apache.commons: http://commons.apache.org/proper/commons-math/apidocs/org/apache/commons/math3/distribution/ExponentialDistribution.html Основная причина, по которой я делюсь этим, в качестве оправдания иметь осмысленный комментарий, который я также могу сказать: ваше имя просто должно быть ссылкой на The Who, правильно? –
'(int) exp.sample()' вызывает метод 'sample()' в объекте, на который ссылается 'exp', затем возвращает возвращаемое значение' int'. Все *** очень *** базовый материал Java. Предложение: Изучите Java. – Andreas