1

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

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

2)计算的分数本质上是添加很多十进制数字,我将它存储在一个“双”变量中。

有人可以告诉我为什么会发生这种异常吗?

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

非常感谢!

4

1 回答 1

7

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

您应该检查这个字符串的来源(堆栈跟踪的其余部分应该告诉您)并确保您没有在沿线的某个地方获得无效数据。

于 2011-04-28T01:52:49.343 回答