搜尋

首頁  >  問答  >  主體

java 生成随机数

Random 类的实例 random

random.doubles(1, var1, var2  ).findFirst().orElse(0);

貌似只能生成 [var1, var2) 的随机数(左闭右开),
我想生成[var1, var2](左闭右闭)的该怎么写?

迷茫迷茫2805 天前821

全部回覆(1)我來回復

  • PHPz

    PHPz2017-04-18 09:51:20

    解決方法:
    random.doubles(1, var1, var2 + Double.MIN_VALUE).findFirst().orElse(0);

    double可表示的小數位數過多,所以以機率來說,要能隨機出var2的機率太小,建議樓主可以忽略。如果你只取固定的小數位數,例如2位小數,可以這樣做:

    // 取[1.20, 1.30]
    long n = random.longs(1, 120, 130 + 1).findFirst().orElse(0);
    // 将n的小数点左移两位

    回覆
    0
  • 取消回覆