不使用+,*和-取反数字

时间:2019-05-27 17:12:33

标签: java

是否可以不使用+,*和-运算符来取反数字。 我知道可以使用BigDecimal negate()函数来完成。 不用外部库就可以做到吗?

例如: 整数n = 9 输出: -9

2 个答案:

答案 0 :(得分:0)

据我所知,没有Java方法。

因此,您可以选择自己乘以-1来构建它。 或使用其他库。

querySelectorAll("F")

使用此Utils类如下:

public class NumberUtils {
    public static int negate(int i) {
        return i * -1;
    }
}

答案 1 :(得分:0)

如果您只是在寻找一种util方法,则可以使用Math.negateExact()

int n = Math.negateExact(9);

结果将为-9

内部Math.negateExact()仅使用-

public static int negateExact(int a) {
    if (a == Integer.MIN_VALUE) {
        throw new ArithmeticException("integer overflow");
    }
    return -a;
}