已关闭,此问题为opinion-based。目前不接受答复。
**想改善这个问题吗?**更新问题,以便editing this post可以用事实和引用来回答。
5小时前关闭
Improve this question
我有如下的if-else语句:
if (b != 0. && a != 0.) {
price = (b + a) / 2;
} else if (b == 0. && a! = 0.) {
price = a;
} else if (a == 0 && b != 0.) {
price = b;
} else if (b == 0 && a == 0. && LastPrice != 0.) {
price = LastPrice;
} else {
price = previous close;
}
这个想法是,
1.如果b
& a
不等于0,则price =(B + a)/ 2;
1.如果b
为0,但a
不是,则取a
,反之亦然
1.如果b
和a
都是0,但lastPrice不是,则取lastPrice
1.否则我们就采取之前的收盘
但是,我写的方式非常笨拙,有没有更干净的方式来用更好的编码风格来做?
先谢谢你了。
3条答案
按热度按时间dpiehjr41#
这看起来更像人类的推理,因此更清晰(同时对计算机来说没有更高的成本):
9fkzdhlc2#
你可以使用streams来写:
h5qlskok3#
下面是一个改进的if-else语句,它删除了一些重复检查。
或者你可以做一些if语句的嵌套