1
我需要能够在一定范围内生成一系列的升序或降序数字。Java:生成一个范围内的数字序列?
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);
}
这适用于升序值,但不是递减值。我一直在盯着这一段时间,我不知道如何使它为降序价值工作。有任何想法吗?
创建一个循环,开始你的最小值,并在你的最大结束,反之为下行 – 2011-04-16 19:44:55
我不完全确定该系列的属性应该是什么,但无论如何,“降序”参数似乎是多余的,因为调用者可以简单地为“delta”提供一个负值,这同样直观。另外,将两种方案混合限制在范围内(对顶部范围进行取模,对底部范围进行钳位)似乎也很奇怪。 – 2011-04-16 19:54:31