【问题标题】:parseInt() acting strangely after substring operation to remove charactersparseInt() 在子字符串操作后行为异常以删除字符
【发布时间】:2017-05-08 22:09:30
【问题描述】:

我一直在尝试使用扫描仪从页面中读取文本。我需要将页面上的一个字段存储为 int,并且我注意到当扫描仪到达该行的最后一个整数时,它还会拾取未被空格分隔的文本。为了解决这个问题,我有以下代码:

String x=sc.next();//sc is the scanner
x=x.substring(0,x.length()-4);//the text is always 4 characters long
int x=Integer.parseInt(x);

此代码抛出NumberFormatException。我尝试从末尾删除 5 个字符,看看我是否犯了一个愚蠢的错误,但它最终删除了部分数字。提前致谢

【问题讨论】:

  • 您有将要输入到程序中的文本示例吗?
  • 类似于 3495845997qwer 的东西

标签: java string parseint


【解决方案1】:

您的问题是3495845997 不是int。 Java 中整数的最大值为2147483647。尝试改用Long.parseLong(x)

【讨论】:

    【解决方案2】:

    您正在解析的数字太大而无法包含在整数中。试试这个

    long y=Long.parseLong(x);
    

    【讨论】:

      猜你喜欢
      • 2019-12-09
      • 2011-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-31
      • 1970-01-01
      • 2013-02-26
      • 1970-01-01
      相关资源
      最近更新 更多