首页 > 解决方案 > 不使用 +、* 和 - 对数字求反

问题描述

是否可以在不使用 +、* 和 - 运算符的情况下对数字求反。我知道可以使用 BigDecimal negate() 函数来完成。是否可以不使用外部库。

例如:int n = 9 输出:-9

标签: java

解决方案


据我所知,没有用于此的 java 方法。

所以你的选择是通过简单地乘以 -1 自己构建它。或者使用另一个库。

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

使用这个 Utils 类看起来像:

public class NumberUtilsTest {
  public static void main(String[] args) {
      Integer i = new Integer(9);
      int i2 = 9;
      System.out.println(NumberUtilsTest.negate(i)); // prints -9
      System.out.println(NumberUtilsTest.negate(i2)); // prints -9
  }
}


推荐阅读