You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java如何高效判断数值为整百值 替代蛮力枚举校验无效州际公路编号

优化实现方案

方案1:取模+范围判断(规则统一场景首选)

整百数的核心特征是对100取余结果为0,配合数值范围限制即可完全替代枚举写法,时间复杂度为O(1),后续要扩大校验范围只要修改上下限参数即可:

// 示例:校验100~900区间的整百数,如需支持更大范围,直接修改900为目标上限即可
else if (input1 > 0 && input1 % 100 == 0 && input1 >= 100 && input1 <= 900) {

如果没有上限要求,直接删除&& input1 <= 900的条件即可。

方案2:预定义集合校验(规则灵活场景首选)

如果存在部分整百数无效、没有统一数学规则的情况,可以提前把所有有效整百值存入不可变Set集合,后续调整有效值只要修改集合的初始化代码即可,校验逻辑无需变动:

// 类全局预定义有效整百编号集合,仅初始化一次
private static final Set<Integer> VALID_100_MULTIPLE_INTERSTATES = Set.of(
    100, 200, 300, 400, 500, 600, 700, 800, 900
);

// 校验逻辑
else if (VALID_100_MULTIPLE_INTERSTATES.contains(input1)) {

方案选型参考

  • 取模方案:代码简洁无额外内存开销、性能最高,适合有效整百数符合统一范围规则的场景
  • 集合方案:灵活性更强,支持自定义任意有效数值,适合规则特殊、需要频繁调整有效值的场景

内容的提问来源于stack exchange,提问作者bojekyll

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 17:09:01