@maximsemin23

Как получить long значение из определенного диапазона SecureRandom Java?

import java.security.SecureRandom

public class RandomUtil {
    
    long nextLong(long min, long max) {
        SecureRandom secureRandom = new SecureRandom();
        // как вернуть число из диапазона?
    }
}

В встроенном котлин рандоме это делается просто:
import kotlin.random.Random

fun nextLong(min: Long, max: Long): Long = Random.nextLong(min, max + 1)
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
long min = 42;
long max = 1488;

SecureRandom secureRandom = new SecureRandom();
long value = secureRandom.longs(1, min, max)
    .findFirst()
    .orElseThrow(() -> new RuntimeException("Не удалось получить случайное число"));

или

long value = secureRandom.longs(1, min, max).reduce(0, (a, b) -> b);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы