我的要求非常简单。目前在我的计划中,我正在做这样的事情。
int low=getLowValue();
if(low==20)
low=15;
else
low=(low/5)*5; // here '/' is for integer division
有没有简单的方法可以做到这一点?满足上述条件的任何一行语句(不是三元运算符)。 提前致谢。
答案 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;