这个例外是什么意思?

时间:2011-04-28 01:49:59

标签: java exception double simulated-annealing numberformatexception

我正在努力实现模拟退火程序,其中一部分涉及从我的java程序读取的.txt文件中计算分数。

1)从用户读取输入字符串。我的输入字符串越长,下面发生以下异常的可能性越大

2)计算得分实质上是添加了很多十进制数,我把它存储在'double'变量中。

有人可以告诉我为什么会发生这样的例外吗?

  

Hill Swap得分:   0.24874990000000005交换后...线程“main”中的异常   java.lang.NumberFormatException:For   输入字符串:“7.92066E-”           在sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1224)

非常感谢!

1 个答案:

答案 0 :(得分:7)

这意味着您的程序正在尝试解析字符串“7.92066E-”,该字符串不能解析为Double。

您应该检查此字符串的来源(堆栈跟踪的其余部分应该告诉您),并确保您没有在该行的某处获取无效数据。