Как сгенерировать случайное число в интервале (0,8; 1)? - PullRequest
0 голосов
/ 30 июня 2018

Math.random() дает псевдослучайное число на интервале (0; 1]. Но я хотел генерировать в других интервалах, таких как, (0,5; 0,6) или (0,7; 1] или (0,8; 1) и т. Д.

Ответы [ 2 ]

0 голосов
/ 30 июня 2018

Вы можете «масштабировать» результат Math.random с умножением, а затем «сместить» его сложением. Например, чтобы отобразить [0 ... 1] в [0,5 ... 0,6 [

]
float unit_scale(float n, float low, float high) {
    float scaled = n * (high - low);
    float offset = low + n;
    return offset;
}
0 голосов
/ 30 июня 2018
import java.util.concurrent.ThreadLocalRandom;

public class MyClass {
    public static void main(String args[]) {
        System.out.println(ThreadLocalRandom.current().nextDouble(0.5, 0.6));
    }
}
...