Я хочу генерировать случайные числа с плавающей запятой между интервалом [0,1]. Сгенерированные случайные значения будут сравниваться с вводом из файла. Содержимое файла представляет собой вероятность (значения с плавающей запятой), поэтому они находятся в диапазоне [0,1] и выглядят так:
0.55
0.14
0.005
0.870
0.98
0
1
Я читаю этот файл и сохраняю значения вероятности в DoubleList. Теперь я хочу сгенерировать случайное число с плавающей запятой между [0,1]. Как вы видите, в файле есть значения вероятности до 1 цифры, 2 десятичных цифр и 3 десятичных цифр. Я использую следующий код:
public static double randomNumberGenerator()
{
double rangeMin = 0.0f;
double rangeMax = 1.0f;
Random r = new Random();
double createdRanNum = rangeMin + (rangeMax - rangeMin) * r.nextDouble();
return(createdRanNum);
}
Сгенерированное случайное значение с плавающей запятой также должно быть похоже на значения вероятности (например, сгенерировано до максимальных десятичных цифр, как в файле). Как я могу ограничить сгенерированные десятичные цифры?
Я проверил следующую ссылку: случайное число Java от 0 до 0,06 . Люди предложили генерацию чисел Int, а затем сделали двойное деление на 100. Это хороший способ? Можем ли мы ограничить десятичное число, сгенерированное напрямую?
PS: Если я сравню случайно сгенерированное число из приведенного выше кода с двойными значениями из файла, возникнут ли проблемы с нехваткой памяти в DoubleList?