Самый простой способ - заполнить массив char [] 5000 случайными цифрами, преобразовать его в строку, а затем вызвать конструктор BigInteger(String)
.
Если любой из этих шагов дает вампроблемы, пожалуйста, дайте более подробную информацию.
В качестве альтернативы, вы могли бы сделать что-то вроде этого:
Random rng = new Random(); // But use one instance throughout your app
BigInteger current = BigInteger.ZERO;
for (int i = 0; i < 5000; i++) {
BigInteger nextDigit = BigInteger.valueOf(rng.nextInt(10));
current = current.multiply(BigInteger.TEN).add(nextDigit);
}
Я подозреваю, что это было бы гораздо менее эффективно.
Вы можете уменьшить количество необходимых шагов, генерируя девять случайных цифр за раз, с помощью rng.nextInt(1000000000)
.