我试图在java中创建一个Clamp方法

时间:2017-06-08 12:41:55

标签: java

嘿所以我试图使用最小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或一个数字。我需要它来创建一个新的数字,这将是延迟。

1 个答案:

答案 0 :(得分:1)

Clamp

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));
}