java - 不使用 +、* 和 - 求负数

标签 java

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

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

最佳答案

据我所知,没有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
  }
}

关于java - 不使用 +、* 和 - 求负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56330090/

相关文章:

java - If 语句验证

java - 增量共轭梯度算法

java - 更改 JPA 中的实体 ID 名称

java - 使用 javax.xml.validation.Validator 针对 XSD 进行 XML 验证

java - Mockito不使用thenThrow引发异常

java - 使用 Jaxb 和 JDK 9 的小程序中的非法反射访问

java - Rabbit spring cloud stream绑定(bind)主题到单队列

java - 重新加载共享首选项

java - JFrame 中的多个 JPanel

java - 短路与多个 if's