检查一个数字是否可以在if语句中被2整除

时间:2018-03-23 23:59:53

标签: java

我正在处理一段代码,检查一个数字是否可以被2,12和15整除。

我第一次使用Java,我不明白如何使用它,所以我来到这里了!

import java.lang.*;
import java.math.*;

public class PrExMa {

public static void main(String[] args) {

    //variables
    BigInteger num;
    BigInteger two, tw, fi;
    num = new BigInteger("16");
    two = new BigInteger("2");
    tw = new BigInteger("12");
    fi = new BigInteger("15");

    //calculations
    // problem is here,I am trying to do
    if (num.mod(two).equals("0")) {
        System.out.print(num);
    // with if(num % two == 0) {
    //system.out.print(num);
    //}
    }
}

}

1 个答案:

答案 0 :(得分:5)

比较应写为:

num.mod(two).equals(BigInteger.ZERO)

否则,您要将BigIntegerString进行比较,这显然是不同的。另外,你真的必须使用BigInteger吗?不是一个普通的long吗?请记住,long的最大值为2^63 - 1,足以满足您的需求。在这种情况下,比较就像这样简单:

num % 2 == 0