有没有办法确定一个数字是否在两个特定数字的范围内,如果这些数字正在改变?例如:
int num1 = -10;
int num2 = 100;
int num3 = 5;
if(num3 > num 1 && num3 < num2){
}
确定num3是否在num1和num2之间是相当容易的。但是,假设num1和num2在程序运行期间动态变化:
num2 becomes -30
其他一切都是一样的。现在,与之前相同的算法将不再有效。是否有一种优雅的方法可以使用动态更改的最大值和最小值来检查数字是否包含范围?
答案 0 :(得分:2)
您可以尝试以下操作,我创建另外两个变量iMin
&amp; iMax
,在checking num3 is in rank
之前,我们定义最大值和最小值:
int num1 = -10;
int num2 = 100;
int num3 = 5;
if (num3 > Math.min(num1, num2) && num3 < Math.max(num1, num2)) {
}
答案 1 :(得分:0)
那有点傻。如果您在函数中有算法,并且您希望num3
介于num1
和num2
之间,那就是它。该规则不应更改,因为num1
或num2
已更改。实现应该是通用的,并且与值无关。
如果您在此之前需要进行一些验证,请执行此操作。我没有看到任何其他优雅的方式去做。