我正在经历一种条件,我可以在json请求(全部为String
格式)中接收任意数量的零(最多10个零)。有时只有1个零,有时是2个或3个或更多,但是可以保证它只会是零。
在if{}
条件下,我无法处理这种情况。
说明:
// zero is the api variable which can contain any number of zeros upto 10.
我能想到的是使用10 || if {}检查条件。
if (zero.equals("0") || zero.equals("00") || zero.equals("000") || ...)
这似乎是合乎逻辑且高效的。
那么,我应该如何处理这种情况?
答案 0 :(得分:4)
您可以使用regular expression:
Ka Siang
答案 1 :(得分:1)
此方法的丑陋之处在于,当输入不正确(不是数字)时,它可能抛出NumberFormatException
。
但是,10个或1个零,不在乎有多少个,“ 0”填充的字符串的数值始终为0。
try
{
if (Integer.parseInt(zero) == 0)
{
//do your things
}
}
catch (NumberFormatException e)
{
//handle it when it's not a number
}
答案 2 :(得分:1)
我假设“零”可以以零开头,所以像这样的代码
if (zero.charAt(0) == '0') {
...
}
应该是您所需要的。
如果字符串可以为空,则需要
!zero.isEmpty() && zero.charAt(0) == '0'
避免异常
或者,您可以写
if (zero.startsWith("0")) {
...
}