Основная идея random заключается в том, что он возвращает псевдослучайное значение. Полностью случайных функций не существует, поэтому 2 экземпляра Random, использующие одно и то же начальное число, в определенных условиях вернут одно и то же значение.
Рекомендуется сначала просмотреть документ функции, чтобы понять его ( https://docs.oracle.com/javase/8/docs/api/java/util/Random.html )
Теперь, когда мы понимаем, что возвращаемое значение функции nextDouble () является псевдослучайным значением от 0,0 до 1,0, мы можем использовать его в наших интересах.
Для создания случайного числа между A и B при условии, что границы действительны (A> B), нам необходимо: 1. найти диапазон между A и B, чтобы мы могли знать, сколько у нас «шагов». 2. используйте случайную функцию, чтобы определить, сколько шагов нужно сделать (поскольку возвращаемое значение находится в диапазоне от 0,0 до 1,0, вы можете думать об этом как о «выборе случайного процента увеличения» 3. добавьте смещение
После всего этого вы можете видеть, что моб дал вам самый простой и самый распространенный способ, на мой взгляд
double randomValue = rangeMin + (rangeMax - rangeMin) * r.nextDouble ();
double RandomValue = Offset + (Диапазон) * (randomVal между 0,0–1,0)
double rangeMax= Double.MAX_VALUE;
иdouble rangeMin= -rangeMax;
вы всегда будете получать бесконечное значение взамен. Возможно, вы захотите проверить наличиеDouble.valueOf(rangeMax-rangeMin).isInfinite()
.