为了账号安全,请及时绑定邮箱和手机立即绑定

在Java中的IF条件下处理变量字符串零

在Java中的IF条件下处理变量字符串零

守着一只汪 2022-07-14 09:55:11
我正在经历一个条件,我可以在 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}")) {

    // ...

}


查看完整回答
反对 回复 2022-07-14
?
郎朗坤

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

}


查看完整回答
反对 回复 2022-07-14
?
温温酱

TA贡献1752条经验 获得超4个赞

我假设除了“零”之外什么都可以从零开始,所以代码就像


if (zero.charAt(0) == '0') {

    ...

}

应该是你需要的。


如果字符串可以为空,那么您需要


!zero.isEmpty() && zero.charAt(0) == '0'

避免异常


或者,您可以编写


if (zero.startsWith("0")) {

    ...

}


查看完整回答
反对 回复 2022-07-14
  • 3 回答
  • 0 关注
  • 127 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信