BigInteger开关盒

时间:2014-04-04 16:25:16

标签: java switch-statement biginteger

   switch (n.mod(BigInteger.valueOf(8)))  {
    case 1:
    case 7:
        jacobi = BigInteger.valueOf(1);
        break;
    case 3:
    case 5:
       jacobi = BigInteger.valueOf(-1);
        break;}

我得到" BigInt无法转换为int"。 Switch也想要常量表达式,所以我不能把BigInteger.valueOf(1)放在一起。

1 个答案:

答案 0 :(得分:2)

mod方法返回另一个BigIntegerBigIntegerNumber,因此您只需致电intValue()即可获得int }可以是switch参数。

switch (n.mod(BigInteger.valueOf(8)).intValue())  {