Java 接受整数时出现数字格式异常

Java 接受整数时出现数字格式异常,java,formatting,Java,Formatting,我收到一个数字格式异常。我不知道为什么 int t; t=Integer.parseInt(br.readLine()); 您必须从BufferedReader.readLine()方法向parseInt传递了无效字符串。该方法: 字符串中的字符必须全部为十进制数字,但第一个字符可以是表示负值的ASCII减号“-”(“\u002D”)或表示正值的ASCII加号“+”(“\u002B”) 例如: 有效:-1 有效:1 无效:1.1 无效:1\r\n(1后跟新行字符) 您可以尝

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

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

您必须从
BufferedReader.readLine()
方法向
parseInt
传递了无效字符串。该方法:

字符串中的字符必须全部为十进制数字,但第一个字符可以是表示负值的ASCII减号“-”(“\u002D”)或表示正值的ASCII加号“+”(“\u002B”)

例如:

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

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

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

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

之所以出现这种情况,是因为读入的字符串不是int。请显示异常stacktrace消息,它将告诉您原因,并告诉您试图解析的字符串是什么。我认为这可能与主题无关,因为可以使用基本调试来解决。将控制台中的输入保存在一个变量中,并在尝试解析它之前查看它的值,您很快就会知道出了什么问题。这个问题对未来的读者没有什么价值。