在Java中将负数转换为0的基本问题

时间:2020-02-04 03:40:38

标签: java

我正在处理有关类的工作簿中的一个问题,其中的一部分告诉我将输出中弹出的负数设置为零,以使其有意义。是否可以不使用if / else语句或条件语句来完成此操作?我只想通过使用打印格式,算术和类方法来做到这一点。请勿导入Java不标准的任何内容。这可能吗,我想念一些简单的事情吗?

3 个答案:

答案 0 :(得分:8)

可以使用n0的{​​{3}}-参数n为负值时,将导致{{1 }},否则为0

n

或者,如果使用Java 8+,则Math.max(int, int)可获得相同的结果

value = Math.max(0, value); // value is 0 if negative, otherwise value

出于示例目的更新显示的原始value = Integer.max(0, value); (完全有可能在此内联使用任一解决方案)。

答案 1 :(得分:0)

三元运算符是可能的。无需导入。

尝试一下number <= 0 ? 0 : number

当然,您必须根据使用情况对其进行微调,但这很简单。

您可以在此处了解有关Java三元运算符的更多信息:-https://www.baeldung.com/java-ternary-operator

编辑:Eliott的解决方案更加优雅。我会让这个答案。 :)

答案 2 :(得分:0)

因此,我不确定您使用的是整数还是双精度数,但是这里的基本思想可以采用任何一种方法进行修改。确实,您可以使用数学。

(n+Math.abs(n))/2

(或者可能是/2.0,根据情况,您可以使用它)可以解决问题。其中n为2的正数,n等于2。其中n为负,n + Math.abs(n)为0,2上的0仍为0。

相关问题