📅  最后修改于: 2023-12-03 14:51:17.878000             🧑  作者: Mango
在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中以补码的方式表示。