有没有一种方法可以减少用JavaNetBean编写的大量条件下的代码量?我使用了if else语句和很多条件,并意识到我的代码相当长。条件来自组合框和文本字段(尚未添加)。
我在底部有一个代码示例。我需要添加20+这个,所以我不知道如果else语句是唯一的选择。
if (RegionBx.getSelectedItem().equals("Tokyo") &&
SeasonBx.getSelectedItem().equals("Spring") &&
MealBx.getSelectedItem().equals("Nil")) {
TravelCost = Tokyo + (Tokyo * sphotel) + (Tokyo * spflight);
}
2条答案
按热度按时间d4so4syb1#
没有这样的模式,可以减少
if-else
每种架构的声明。对于您的任务类型,您应该简单地将字符串Map到价格。
摆脱使用条件句的需要。使用集合将可能的输出数据与可能的输入数据关联起来。
fae0ux8s2#
很难说没有看到你要解决的全部问题。但是如果这些测试的模式非常一致,那么您可以尝试多种方法。例如
或:
(我不确定第二个版本的语法是否完全正确。请评论或编辑。)
如果您可以将计算表示为一个基于一组有限因子的公式,这些因子可以在Map中查找,请参见@steyrix的答案。
但是,还不清楚结果是否会比具有大量数据的版本更好(更可读/更易维护)
if
测验。而且他们不太可能更有效率。
我个人的建议是
if
在第一个版本中进行测试,如果方法扩展到数百行代码,则只需在“抛光”代码上花费精力。