我收到了数字格式异常。我不知道为什么。
int t;
t=Integer.parseInt(br.readLine());
答案 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());