没有“ if-else”或“ switch-case”的指标转换算法

没有“ if-else”或“ switch-case”的指标转换算法,第1张

没有“ if-else”或“ switch-case”的指标转换算法

您不需要

if-then-else
-实际上,您的程序中不需要控制语句。您所需要的只是一个查找表-
该表
Map
将您的单位枚举
double
转换为转换因子,以便将度量单位乘以转换因子,您将获得米的空间单位和千克的重量单位。相反,将米除以该系数可以得到所需的单位。

有了此地图,您可以对所有成对的单位进行转换:

  • 查找
    Cs
    源单位的转换系数
  • 查找
    Cd
    目标单位的转换系数
  • 返回
    value * Cs / Cd
    结果。

例如,假设您要处理米,码,英寸和英尺。您的地图如下所示:

  • m-1.0
  • y-0.9144
  • 在-0.0254
  • 英尺-0.3048

现在假设您要将

7.5
码转换为英尺:

  • 抬头
    Cs = 0.9144
  • 抬头
    Cd = 0.3048
  • 计算并返回
    Res = 7.5 * 0.9144 / 0.3048 = 22.5


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/5643242.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存