pirxon
@pirxon

Как сгенерировать 14-ти значное положительное число?

Как сгенерировать 14-ти значное положительное число?
  • Вопрос задан
  • 462 просмотра
Решения вопроса 2
@Joysi75
Если нужны длинные (допустим 100-значные), то можно затратно так (пример для 14 значного):
BigInteger b;
do{
       b = new BigInteger(48, new SecureRandom());
} while (b.toString().length()!=14);
System.out.println(b.toString());
Ответ написан
BestuseR
@BestuseR
.
Вот, вроде правильно и быстро работает... Можно ещё быстрее, ну то такое)
public static BigInteger generateBigInteger(int length, Random random) {
        StringBuilder builder = new StringBuilder(length);
        builder.append(random.nextInt(9) + 1);
        for (int i = 1; i < length; i++) {
            builder.append(random.nextInt(10));
        }
        return new BigInteger(builder.toString());
    }


Upd: решения выше в комментариях получше :D
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
pirxon
@pirxon Автор вопроса
спасибо. оба варианта хорошие.
Ответ написан
Комментировать
timych
@timych
Вот еще вариант:
ThreadLocalRandom.current().nextLong(10000000000000L, 100000000000000L);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы