Java: случайное длинное значение в интервале
Возможный дубликат:
Java: случайное длинное число в 0 <= x < n диапазон
Я хочу создать случайное длинное значение в интервале, но кажется, что класс Random nextLong() не принимает аргументы типа nextInt(). Что я могу сделать здесь?
Ответы
Ответ 1
Если вам нужны значения, основанные на диапазонах, выполните следующие действия:
long LOWER_RANGE = 0; //assign lower range value
long UPPER_RANGE = 1000000; //assign upper range value
Random random = new Random();
long randomValue = LOWER_RANGE +
(long)(random.nextDouble()*(UPPER_RANGE - LOWER_RANGE));
Ответ 2
Вы можете использовать nextInt для генерации более высоких и более низких значений длительности. Можно даже расширить класс Random с помощью собственного метода nextLong (хотя композиция может быть более безопасным выбором для более серьезного программирования).
Взгляните на Javadoc nextInt (int n). Метод nextLong может быть реализован с использованием того же алгоритма. Правильно это может показаться немного сложным. Подготовьтесь к математике с ручкой и бумагой. Использование проверенной библиотеки разумно, если вы не просто кодируете удовольствие.