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

Java函数posNeg实现校验:正负整数判断逻辑与需求不符问题

代码逻辑与需求匹配性分析

明确需求

  • 当参数negative为false时:只有两个int数值一正一负时返回true
  • 当参数negative为true时:只有两个int数值全为负数时返回true

现有代码的问题

先看原实现代码:

public boolean posNeg(int a, int b, boolean negative) {
      
    if (negative == true) {
        if (a<0 && b<0) {
            return true;
        }
        else if ( (a<0 && b>0) || (a>0 &&b<0) ) {
            return true;
        }
        else {
            return false;
        }
    }
    else {
        return false;
    }
}

问题点非常明显:

  1. 当negative为true时,代码错误地把一正一负的情况也返回true,完全不符合“仅全负才返回true”的要求
  2. 当negative为false时,代码直接固定返回false,完全忽略了“一正一负返回true”的核心需求

修正后的正确实现

public boolean posNeg(int a, int b, boolean negative) {
    if (negative) {
        // 仅全负时返回true
        return a < 0 && b < 0;
    } else {
        // 仅一正一负时返回true
        return (a < 0 && b > 0) || (a > 0 && b < 0);
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 22:20:32