我想測試一個變量是否在兩個其他變量之間,如果這個不清楚看我的代碼。這段代碼的工作原理,我只是尋找一個更短,更有效的方式來執行相同的事情。給定兩個變量,測試其他變量是否在它們之間
public boolean isBetween(double test, double n1, double n2){
double lowN = n1 < n2 ? n1 : n2;
double highN = n1 > n2 ? n1 : n2;
if(n1 == n2 && test == n1){
return true;
}
if(test >= lowN && test <= highN){
return true;
}
return false;
}
目前,我使用兩個三元運營商可以定義哪些變量是低和高,然後我看到測試變量是否是他們之間
'return test> = Math.min(n1,n2)&& test <= Math.max(n1,n2);' – shmosel
話雖如此,這是無關緊要的。它屬於http://codereview.stackexchange.com - 這就是爲什麼我沒有提交答案。 –
這是一個更優雅更直觀的解決方案(如果您不想使用'Math.min'和'Math.max')。 - 'return test> = n1 && test <= n2 || test> = n2 && test <= n1;' –