当前位置: 首页 > 面试题库 >

Java中BigInteger的%运算符

危飞跃
2023-03-14
问题内容

如何a%b与大整数一起使用?喜欢

...
BigInteger val = new BigInteger("1254789363254125");
...

boolean odd(val){
   if(val%2!=0)
      return true;
   return false;
...

Eclipse表示未为BigInteger定义运算符%。

有任何想法吗?


问题答案:

像这样:

BigInteger val = new BigInteger("1254789363254125");
public boolean odd(BigInteger val) {
    if(!val.mod(new BigInteger("2")).equals(BigInteger.ZERO))
        return true;
    return false;
}

或者,正如用户Duncan在评论中建议的那样,我们可以像这样完全删除if语句:

BigInteger val = new BigInteger("1254789363254125");
public boolean odd(BigInteger val) {
    return !val.mod(new BigInteger("2")).equals(BigInteger.ZERO));
}


 类似资料:
  • 我试图使用值在C#中实现以下Java函数,以便不再适用64位限制。作为一项健全性检查,我将使用的原始函数也转换为C#代码。然而,问题是,使用的版本工作时,使用的版本并不总是返回相同的结果。 C#中原始函数的实现。 而不是像原始的Java代码那样打印所有的值,我打算使用它们,这样我就可以单独返回每个值。 在组合学中,使用choose函数可以很容易地验证生成的数字集合是否具有正确的值数: 从52张扑克

  • 问题内容: 我想知道是否存在一种将变量相乘的方法,因为运算符无法应用于。 所以我想知道是否可以在不使用运算符的情况下将两个相乘。 问题答案: 您可以这样使用s 方法: 我早就应该指出这是一成不变的。因此,任何运算结果都必须存储到变量中。运算符或操作数永远不会更改。

  • 问题内容: 任何人都可以通过一些示例解释在Java中使用^运算符吗? 问题答案: 与大多数语言中的^相同,只是XOR。

  • 问题内容: 考虑以下代码: 到底为什么呢? 我会这样计算: 但这是3。我不明白为什么在预先增加到时第二次不进行增加。 问题答案: 让我们首先关注看起来异常的行: 此处的运算符是(分配),(一元加号)和(预递增)。没有操作员。Java将其解释为两个运算符:和。添加适当的空格会更清楚: 现在让我们分析处理过程: 第一次迭代:和是。 预先增加到,这就是的结果。一元不执行任何操作,而是分配给。然后出现迭代

  • 问题内容: 有人可以向我解释为什么可以这样做: 没有操作符重载怎么办(在这种情况下为“ =“) 我来自C ++背景,因此可以解释… 问题答案: 在这种情况下,没有过载。与不同的Java片段是的定义-Java编译器将“”中的任何内容转换为,因此在您的示例中也是一个简单的赋值。在中,编译器将“”转换为,因此需要从转换为。