【问题标题】:How to check a string contains only int in JAVA? [duplicate]如何检查一个字符串在JAVA中只包含int? [复制]
【发布时间】:2012-11-18 21:06:37
【问题描述】:

我希望写一个小方法来做以下事情: 例如字符串 a = "a123",那么方法应该返回 fulse; 字符串 b = "111",它应该返回 true。 这意味着只有字符串是一个 int,它应该返回 true,所有其他情况都应该返回 false。 有人可以帮助我吗?谢谢!

【问题讨论】:

  • 否定情况? “-1345”?
  • 对我来说似乎是一个家庭作业问题...如果是这样,请添加一个家庭作业标签
  • @awashburn 作业标签已弃用。
  • @A.R.S.我不知道作业标签被贬值了;)

标签: java


【解决方案1】:

您可以使用Integer.parseInt(integerString);

public boolean isInteger(String integerString){

   try{
      Integer.parseInt(integerString);
      return true;
   } catch (NumberFormatException nfe) {
      return false;
   }
}

NumberFormatException 表示解析不会成功,因此字符串不是整数。

【讨论】:

    【解决方案2】:

    如果您的意思是您想要一个仅由数字 0-9 组成的字符串(并且具有任意长度),您可以使用正则表达式 "\\d+",即 str.matches("\\d+")。

    如果您想考虑正面和负面迹象,您可以使用"[+-]?\\d+"。

    如果考虑长度(基本的int 错字不能超过10 位),您可以使用"[+-]?\\d{1,10}+"。

    【讨论】:

    • 这对数字验证很有用,但整数也有一些长度。
    • 没有。我的意思是整数比长短。 + 只负责空字符串不被视为有效。
    • @Vash 哦,我明白了 - 看看我的编辑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    • 2015-09-28
    • 1970-01-01
    • 2012-09-19
    • 1970-01-01
    • 2014-02-18
    • 2021-03-25
    相关资源
    最近更新 更多