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

我正在经历一个条件,我可以在 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") || ...)

这似乎是合乎逻辑和有效的。

那么,我应该如何处理这种情况呢?


守着一只汪
浏览 128回答 3
3回答

慕盖茨4494581

您可以使用正则表达式执行此操作:// If zero contains between 1 and 10 zeroesif (zero.matches("0{1,10}")) {    // ...}

郎朗坤

这种方法的丑陋之处在于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}

温温酱

我假设除了“零”之外什么都可以从零开始,所以代码就像if (zero.charAt(0) == '0') {    ...}应该是你需要的。如果字符串可以为空,那么您需要!zero.isEmpty() && zero.charAt(0) == '0'避免异常或者,您可以编写if (zero.startsWith("0")) {    ...}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java