import java.util.*;import java.io.*;import java.lang.*;class Ex{ public static void main (String[] args) throws IOException { BufferedReader br = new BufferedReader(newInputStreamReader(System.in)); int a,b,n,c; n=Integer.parseInt(br.readLine()); for(int i=1;i<=n;i++) { try { a=Integer.parseInt(br.readLine()); b=Integer.parseInt(br.readLine()); try { c=a/b; System.out.println(c); } catch (ArithmeticException e) { System.out.println(e); } } catch (InputMismatchException m) { System.out.println(m); } } }}上面提到的是我试图运行的代码,下面是 input_file.txt4 10310Hello10223.3230.0这是我得到的错误。Exception in thread "main" java.lang.NumberFormatException: For input string: "4 " at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:580) at java.lang.Integer.parseInt(Integer.java:615) at Ex.main(Ex.java:11)
2 回答
慕码人8056858
TA贡献1803条经验 获得超6个赞
java.lang.NumberFormatException: For input string: "4 "
正如您从字符串上方的错误消息中看到的那样,您尝试解析的数字在末尾有一个空格,这将导致解析失败。
要摆脱前导和尾随空格,您可以在字符串上使用trim()方法:
a=Integer.parseInt(br.readLine().trim());
陪伴而非守候
TA贡献1757条经验 获得超8个赞
我想你已经输入了带空格的数字 4。请检查您的输入。
对于输入字符串:“4”
为了避免它,您可以添加如下修剪功能
Integer.parseInt(br.readLine().trim());
添加回答
举报
0/150
提交
取消