gpt4 book ai didi

Java:生成一定范围内的数字序列?

转载 作者:太空宇宙 更新时间:2023-11-04 08:39:17 25 4
gpt4 key购买 nike

我需要能够在一定范围内生成一系列升序或降序数字。

public int nextInRange(int last, int min, int max, int delta, boolean descending) {
delta *= descending ? -1 : 1;

int result = last + delta;
result %= max;
return Math.max(result, min);
}

这适用于升序值,但不适用于降序值。我已经盯着这个有一段时间了,我不知道如何让它适用于递减的值。有什么想法吗?

最佳答案

这样怎么样,当您想要降序序列时,其中 delta 为负数?

public int nextInRange(int last, int min, int max, int delta) {
int result = last + delta;

// now clip to min and max
if (result > max) {
result = max;
} else if (result < min) {
result = min;
}

return result;
}

或者也许不那么直接,让函数体是单行:

return Math.min(max, Math.max(last + delta, min));

关于Java:生成一定范围内的数字序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5689092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com