为了账号安全,请及时绑定邮箱和手机立即绑定

java返回java.lang.NumberFormatException异常

java返回java.lang.NumberFormatException异常

波斯汪 2019-03-01 11:11:33
代码如下,其中getX()成功有返回结果,getY()却报异常. public class AddressUtilDemo { public static void main(String[] args){ AddressUtil AddressUtil = new AddressUtil(); AddressUtil.setAddress("3454.234,24l.432"); System.out.println(AddressUtil.getX()); System.out.println(AddressUtil.getY()); } } class AddressUtil { private String address; public AddressUtil(){} public AddressUtil(String address){ if(address.indexOf(",")>0){ this.address = address; } } public Double getX(){ String string = address.substring(0, address.indexOf(",")) ; return Double.parseDouble(string); } public Double getY(){ String string = address.substring((address.indexOf(",")+1)); return Double.parseDouble(string); } public String getAddress() { return address; } public void setAddress(String address) { this.address = address.trim(); } } 试过string.trim()等方法都无效.debug看到的string确实是预期中的数值.以下是异常信息: Exception in thread "main" java.lang.NumberFormatException: For input string: "24l.432"
查看完整描述

3 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

你应该学会调试,看看getY中的string就知道问题了

查看完整回答
反对 回复 2019-03-01
?
繁花如伊

TA贡献2012条经验 获得超12个赞

24l.432
24后们是 L,不是 1

查看完整回答
反对 回复 2019-03-01
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

骚年,你main函数里setAddress的是3454.234,24l.432(24L,是L不是1),所以y是错的,转化失败了,建议编辑器字体用Source Code Pro 还能看的出来

查看完整回答
反对 回复 2019-03-01
  • 3 回答
  • 0 关注
  • 2710 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信