这个例外是什么意思?

Roy*_*Roy 1 java double exception simulated-annealing numberformatexception

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

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

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

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

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

非常感谢!

Cam*_*ner 7

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

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

  • 它无效,因为你在E之后缺少一个数字.它应该像7.92066E042- (2认同)