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位小数,可以这样做: