嘿所以我试图使用最小ms延迟,最大ms延迟和其他一些计算来编码随机延迟。为此,我需要钳制一些整数和长整数。下面是一个我调用MathUtil来尝试编写Clamp的类。
public static long clamp(long delayPreClamp, int min, int max) {
return 90;
}
您正在使用的数字可以在下面找到:
double deviation = 22;
double mean = 90;
int min = 43;
int max = 198;
Random r = new Random();
double randGauss = (r.nextGaussian() * deviation);
long delayPreClamp = Math.round(randGauss + mean);
long delay = (long) MathUtil.clamp(delayPreClamp, min, max);
我的问题是,在第一个提到的代码中,我只能返回min,max,delayPreClamp或一个数字。我需要它来创建一个新的数字,这将是延迟。
答案 0 :(得分:1)
public static long clamp(long delayPreClamp, int min, int max) {
// v = delayPreClamp
// if v < min, returns the greater between min and v, thus min
// if v > max, returns the greater between min and max, thus max
// if v is between min and max, returns the greater between min and v, thus v
return Math.max(min, Math.min(delayPreclamp, max));
}