如果我不知道变量是正还是负,如何在不调用函数或使用if的情况下使其变为正数?

时间:2016-11-15 23:11:40

标签: java variables

这是代码(Java):

    float yd = waypointY - currentY;
    if (yd < 0) {
        yd = yd*(-1);
    }

我不认为这是最好的方法,并且已经搜索但只找到了结果,当你已经知道它是正面还是负面时。我永远不知道waypointY是否比currentY更多或更少。

2 个答案:

答案 0 :(得分:2)

如果您使用java,则可以使用APIMath.abs(x-y)它将返回x-y绝对值 abs API的源代码如下:

public static float abs(float a) {
    return (a <= 0.0F) ? 0.0F - a : a;
}

答案 1 :(得分:0)

AFAIK,如果没有,这是不可能的。或者一些变化。也许得到符号并乘以某种东西并添加一些东西并做一些事情?这似乎过于复杂,任何特殊原因都不使用if?

编辑: 你可以使用三元(或其所谓的)表达式:

x = y < 0 ? -y : y;