【问题标题】:Integer.parseInt(String) throws a NumberFormatExpression [duplicate]Integer.parseInt(String) 抛出 NumberFormatExpression [重复]
【发布时间】:2020-10-27 16:48:06
【问题描述】:

我正在从一个包含项目名称及其数量的文件中读取数据。当我尝试将数量转换为 int 时,我得到了 NumberFormatExpression。我觉得这可能是由于- 标志,但即使删除- 它仍然会抛出异常

String line = reader.readLine();

while (line != null) {
    String[] delimiter = line.split(",");
    int originalQuantity = Integer.parseInt(delimiter[1]);
    line = reader.readLine();
}

文件内容:

Toilet Papers, -10
Hand sanitizers, 12

【问题讨论】:

  • 分隔符是表示两个字段之间的分隔符的东西,在这种情况下是逗号。 String[] 分隔符的命名方式应该不同,可能类似于 String[] 字段或 String[] 部分。

标签: java file exception javafx integer


【解决方案1】:

您在数字的开头包含一个空格。使用trim 方法摆脱它。

String line = reader.readLine();
while (line != null) {
    String[] delimiter = line.split(",");
    int originalQuantity = Integer.parseInt(delimiter[1].trim()); // <-- trim here
    line = reader.readLine();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 2011-11-13
    • 2017-03-11
    • 1970-01-01
    • 2012-12-05
    • 2012-11-25
    相关资源
    最近更新 更多