我正试图想办法对这4个“成本”进行排序。 我的最终目标是在方法中没有两个相同的if-then语句,这个例子只是一个快速的模型。 我确信这是我丢失的简单代码。
int discount_InsideZone;
int discount_OutsideZone;
int insideZone;
int outsideZone;
static int something(boolean discounted, int startzone, int endzone)
{
/* if
discounted == true && startzone == endzone Return discount_InsideZone;
discounted == true && startzone <> endzone Return discount_OutsideZone;
discounted == false && startzone == endzone Return insideZone;
discounted == false && startzone <> endzone Return outsideZone;
*/
}
答案 0 :(得分:0)
这样的东西?
static int something(boolean discounted, int startzone, int endzone)
{
if (startzone == endzone)
return (discounted ? discount_InsideZone : insideZone);
return (discounted ? discount_OutsideZone : outsideZone);
}
答案 1 :(得分:0)
您无需与==
进行比较,只需在if
声明中直接使用它们。
boolean inside = startzone == endzone;
if (discounted) {
if (inside) return a;
else return b;
}
else {
if(inside) return c;
else return d;
}
答案 2 :(得分:0)
由于javascript在这里被标记并且它只是一个模拟,请让我在javascript中模拟它。
var discount_InsideZone;
var discount_OutsideZone;
var insideZone;
var outsideZone;
function something(discounted, startzone, endzone) {
if (discounted) {
return startzone === endzone ? discount_InsideZone : discount_OutsizeZone;
}
return startzone === endzone ? insideZone : outsideZone;
}
不幸的是,这是我现在能想到的最好的。