我正在经历一个条件,我可以在 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") || ...)这似乎是合乎逻辑和有效的。那么,我应该如何处理这种情况呢?
3 回答
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
您可以使用正则表达式执行此操作:
// If zero contains between 1 and 10 zeroes
if (zero.matches("0{1,10}")) {
// ...
}
郎朗坤
TA贡献1921条经验 获得超9个赞
这种方法的丑陋之处在于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
}
温温酱
TA贡献1752条经验 获得超4个赞
我假设除了“零”之外什么都可以从零开始,所以代码就像
if (zero.charAt(0) == '0') {
...
}
应该是你需要的。
如果字符串可以为空,那么您需要
!zero.isEmpty() && zero.charAt(0) == '0'
避免异常
或者,您可以编写
if (zero.startsWith("0")) {
...
}
添加回答
举报
0/150
提交
取消