2017-02-09 54 views
-4

我为我的代码使用Netbeans IDE。当我尝试运行它,我得到这个错误:”线程“主”java.lang.NumberFormatException异常:对于输入字符串

Exception in thread "main" java.lang.NumberFormatException: For input string: "8589.416,5468.2407,4263.4077,4064.9358,1997.893,5282.325,2169.72,2773.4211,7526.386,4607.6763,2598.06,1522.6462,1300.5988,1181.63,Tumor" 
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1250) 
    at java.lang.Double.parseDouble(Double.java:540) 
    at Preprocessing.Newsvm_scale.run(Newsvm_scale.java.java:150) 
    at Preprocessing.Newsvm_scale.main(Newsvm_scale.java.java:332) 

我记住,这里的其他类似的问题,不能帮助我,因为我有一个不同的代码我的代码如下如果任何人都可以。指向我正确的方向我会非常感谢。

+1

调试你的代码,转到540行,看看Double.parseDouble的参数。这是一个巨大的字符串,而不是一个单一的数字。这不能被解析为“Double”。 – f1sh

+1

我不认为'8589.416,5468.2407,4263.4077,4064.9358,1997.893,5282.325,2169.72,2773.4211,7526.386,4607.6763,2598.06,1522.6462,1300.5988,1181.63,肿瘤也是一个数字。 – Moira

+4

您是否阅读过错误信息?它包含你想要解析的实际字符串,它*明显*不是有效的十进制数字。 –

回答

0

StringTokenizer方法已经设置一个长字符串值为st,这是没有被打破,所以当双重调用 Parse方法。抛出一个Number格式异常,因为它试图将该字符串转换为double。在调用StringTokenizer方法时,需要指定逗号分隔数字。 感觉自由询问你是否需要更多的帮助。

+0

...或者你可以添加到你的答案。 – Moira

+0

...或者你可以。 – JordanH

+0

非常感谢@ jordanH。是的,我使用的文件是逗号分隔。但我无法理解你,你是什么意思(你需要指定逗号分隔数字)。你能解释更多吗?谢谢 – ahmed

相关问题