📌  相关文章
📜  在Java检查数字是否为二进制(1)

📅  最后修改于: 2023-12-03 14:51:17.878000             🧑  作者: Mango

在Java检查数字是否为二进制

在Java中,我们可以采用以下方式来检查一个数字是否为二进制:

public static boolean isBinary(int number) {
    while (number != 0) {
        if (number % 10 > 1) {
            return false;
        }
        number /= 10;
    }
    return true;
}

这个方法的基本思想是逐位检查数字的每一位是否为0或1,如果不是,则说明该数字不是二进制。

我们可以采用以下方式来测试该方法:

public static void main(String[] args) {
    System.out.println(isBinary(101010)); // true
    System.out.println(isBinary(321)); // false
}

这将输出以下结果:

true
false

此外,我们还可以通过正则表达式来检查一个数字是否为二进制。例如,以下代码可以检查一个数字是否只包含0和1:

public static boolean isBinary(int number) {
    String binaryString = Integer.toString(number);
    return binaryString.matches("[01]+");
}

同样,我们可以采用以下方式来测试该方法:

public static void main(String[] args) {
    System.out.println(isBinary(101010)); // true
    System.out.println(isBinary(321)); // false
}

这将输出以下结果:

true
false

这些方法可以帮助我们在Java中检查数字是否为二进制。无论我们采用哪种方法,都需要注意检查数字是否为负数,因为负数在Java中以补码的方式表示。