Java 使用Integer.parseInt()时出现运行时错误

Java 使用Integer.parseInt()时出现运行时错误,java,string,integer,Java,String,Integer,我试图解决一个问题,翻转两个输入整数并将结果相加。最明显的方法是取模,然后得到每一个数字并重新构造,但我想把整数转换成字符串,这样就很容易翻转,然后再把它转换回整数,加上它并返回答案 代码: 这就是我得到的错误: Exception in thread "main" java.lang.NumberFormatException: For input string: " 543" at java.lang.NumberFormatException.forInputString(Numb

我试图解决一个问题,翻转两个输入整数并将结果相加。最明显的方法是取模,然后得到每一个数字并重新构造,但我想把整数转换成字符串,这样就很容易翻转,然后再把它转换回整数,加上它并返回答案

代码:

这就是我得到的错误:

Exception in thread "main" java.lang.NumberFormatException: For input string: " 543"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:569)
    at java.lang.Integer.parseInt(Integer.java:615)
    at chiller.main(chiller.java:40)

第40行是我使用的
parseInt
行。我也使用了
.trim()
hack,但它仍然不起作用。

错误的原因是,由于前导空格,Java无法将
“543”
解析为
整数。根据,只允许使用前导的
+
-
符号

通过将
modnum1
声明为空字符串,可以在代码中修复它:

String modnum1 = "";

错误是什么?modnum1的内容是什么?我把空间看作是你放进去的第一件东西。打印它,但我猜您可能会发现
s1=Integer.parseInt(modnum1.trim())
修复了它。我认为用空格初始化
modnum1
,然后希望像
“1234”
这样的字符串表示有效数字是不明智的,这显然不是事实。使用选项来澄清您的问题(比如包括错误消息)。没有明确问题描述的问题对于其他有该问题的人(因为他们将无法找到它)来说是没有用处的,这会使它在堆栈溢出时脱离主题。请使用新的BigInteger(modnum1)进行尝试,并请使用新的修改来更新该问题
String modnum1 = "";