检查整数以查看它是否包含零
给定一个整数,如何使用Java检查它是否包含0?
1 = Good 2 = Good ... 9 = Good 10 = BAD! 101 = BAD! 1026 = BAD! 1111 = Good
如何做到这一点?
给定一个整数,如何使用Java检查它是否包含0?
1 = Good 2 = Good ... 9 = Good 10 = BAD! 101 = BAD! 1026 = BAD! 1111 = Good
如何做到这一点?
您的意思是如果十进制表示形式包含0吗?绝对最简单的方法是:
if (String.valueOf(x).contains("0"))
不要忘记,一个数字并不“固有地”包含0或不包含0(当然,除了零本身) - 这取决于基数。因此,十进制中的“10”是十六进制中的“A”,十六进制中的“10”是十进制中的“16”...在这两种情况下,结果都会改变。
可能有更有效的方法来测试整数的十进制表示形式中是否存在零,但它们可能比上面的表达式涉及更多。
如果由于某种原因您不喜欢转换为字符串的解决方案,您可以尝试:
boolean containsZero(int num) {
if(num == 0)
return true;
if(num < 0)
num = -num;
while(num > 0) {
if(num % 10 == 0)
return true;
num /= 10;
}
return false;
}
这也假设以 10 为基数。num
编辑:添加了处理负数和0本身的条件。