接受整数时的数字格式异常

时间:2015-01-17 15:04:54

标签: java formatting

我收到了数字格式异常。我不知道为什么。

    int t;
    t=Integer.parseInt(br.readLine());

2 个答案:

答案 0 :(得分:2)

您必须已从parseInt方法向BufferedReader.readLine()传递无效字符串。那种方法is designed such that

  

字符串中的字符必须都是十进制数字,除了第一个字符可能是ASCII减号' - ' (' \ u002D')表示负值或ASCII加号' +' (' \ u002B')表示正值。

例如:

  • 有效:-1
  • 有效:1
  • 无效:1.1
  • 无效:1\r\n(1后跟换行符号)

您可以尝试在trim()输出上调用bi.readLine(),或者首先针对正则表达式进行检查,以确保它实际上包含整数的有效字符串表示形式。

答案 1 :(得分:0)

确保没有尾随零,并且字符串只包含一个整数。

int t = Integer.parseInt(br.readLine().trim());