【问题标题】:I am trying to create a Clamp method in java我正在尝试在 java 中创建一个 Clamp 方法
【发布时间】:2020-09-18 00:24:56
【问题描述】:

嘿,所以我正在尝试使用最小毫秒延迟、最大毫秒延迟和其他一些计算来编写随机延迟。为此,我需要钳制一些整数和一个长整数。下面是一个我调用 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 或一个数字。我需要它来创建一个延迟的新号码。

【问题讨论】:

  • 无法理解您的问题。请重新提出您的问题。
  • 已编辑希望对您有所帮助。
  • 你的意思是像rand.nextInt((max - min) + 1) + min这样在min/max之间生成一个随机数
  • 是的,但也使用 delayPreClamp
  • 目前还不清楚您正在尝试什么,但是,这可能是您正在寻找的答案:stackoverflow.com/a/16659144/6626496

标签: java clamp


【解决方案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));
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-12
    • 1970-01-01
    相关资源
    最近更新 更多