代码之家  ›  专栏  ›  技术社区  ›  x GutterRat x

如何使此方法始终返回非负值?

  •  -5
  • x GutterRat x  · 技术社区  · 10 月前

    我在一次考试中答错了这个答案,有人能解释一下正确的答案吗?

    “为了使此方法始终返回非负值,缺少的if表达式应该是什么?”

    int mystery2 (int n) { 
      if (<< expression >>) { 
        return -n;
      } else { 
        return n; 
      } 
    }
    

    多项选择题

    1. n0
    2. n>;0
    3. n>;1<--我的回答
    4. n<0
    2 回复  |  直到 10 月前
        1
  •  0
  •   Gaurav Bairwa    10 月前

    正确的表达式是n<0,因为它确保该方法通过将任何负输入转换为正输出来返回非负值,同时保持非负输入不变。

        2
  •  0
  •   Khai    10 月前

    这就是表达式如何始终返回非负值。

    if (n < 0) {
        return -n;
    } else {
        return n;
    }