任何交替给出if-else语句

时间:2017-09-18 13:08:51

标签: math

我的要求非常简单。目前在我的计划中,我正在做这样的事情。

int low=getLowValue();

if(low==20)
   low=15;
else
   low=(low/5)*5;  // here '/' is for integer division

有没有简单的方法可以做到这一点?满足上述条件的任何一行语句(不是三元运算符)。 提前致谢。

3 个答案:

答案 0 :(得分:2)

实际上,三元操作通常适合这类事情。

但是,既然你说你不想要那个,你也可以通过提供你自己的功能来做" (a)这一行。举重:

ListView

(a)引用,因为它指的是呼叫点的一条线 - 如果您要在许多地方进行操作,这通常是一件好事。希望尽量减少代码混乱。

答案 1 :(得分:0)

您的代码是可读的,我不会更改它。但如果你真的想要,你可以这样做(至少用C ++):

low = (low - (low == 20)) / 5 * 5;

如果low == 20导致(20 - 1) / 5 * 5评估为15。 如果low != 20导致low / 5 * 5

答案 2 :(得分:-3)

给定的代码段遵循 Java 语法编写,以解决所需的问题。

low = (low==20)?15:low;