这个例外是什么意思?
-
25-10-2019 - |
题
我正在努力实施模拟退火程序,其中一部分涉及计算我的Java程序读取的.txt文件中的分数。
1)从用户读取输入字符串。我的输入字符串越长,以下例外情况越有可能发生
2)所计算的分数本质上是添加了很多十进制数字,我将其存储在“双”变量中。
有人可以告诉我为什么会发生这样的例外吗?
从Hill交换中得分:0.2487499000000000005交换后...线程“ Main” java.lang.numberformatexception中的异常:for Input String:“ 7.92066e-” sun.misc.misc.floationdecimal.readjavaimal.readjavaformal.readjavaformatring(floatingdecimal.java:12224:12224)
非常感谢!
解决方案
这意味着您的程序正在尝试解析字符串“ 7.92066e-”,这是双重可解析的。
您应该检查此字符串来自何处(堆栈跟踪的其余部分应该告诉您),并确保您不会在生产线的某个地方获得无效的数据。
不隶属于 StackOverflow