这个异常是什么意思?

发布于 2024-11-03 21:45:08 字数 432 浏览 4 评论 0原文

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

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

2)计算的分数本质上是添加大量十进制数字,并将其存储在“double”变量中。

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

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

非常感谢!

I am working on implementing a simulated annealing program and part of this involves calculating scores from a .txt file that my java program reads.

1) an input string is read from the user. The longer my input string, the more likely the following exception below occurs

2) the score that is calculated is essentially adding a lot of decimal numbers and I store it in a 'double' variable.

Can someone please advise me why such an exception would occur?

Score from Hill Swap:
0.24874990000000005 After swap... Exception in thread "main"
java.lang.NumberFormatException: For
input string: "7.92066E-"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1224)

Thanks very much!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一向肩并 2024-11-10 21:45:08

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

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

It means that your program is trying to parse the string "7.92066E-" which is not parseable as a Double.

You should check where this string is coming from (the rest of the stack trace should tell you) and make sure that you're not getting invalid data somewhere along the line.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文