Random 类的实例 random
random.doubles(1, var1, var2 ).findFirst().orElse(0);
貌似只能生成 [var1, var2) 的随机数(左闭右开),我想生成[var1, var2](左闭右闭)的该怎么写?
业精于勤,荒于嬉;行成于思,毁于随。
解決方法:random.doubles(1, var1, var2 + Double.MIN_VALUE).findFirst().orElse(0);
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的小数点左移两位
解決方法:
random.doubles(1, var1, var2 + Double.MIN_VALUE).findFirst().orElse(0);
double可表示的小數位數過多,所以以機率來說,要能隨機出var2的機率太小,建議樓主可以忽略。如果你只取固定的小數位數,例如2位小數,可以這樣做: