错误:输入数字格式异常

时间:2015-04-18 18:05:04

标签: java numberformatexception

我正在尝试使用cluster-algorithms-java-alpha库中的源代码,这是链接

https://code.google.com/p/cluster-algorithms-java-alpha/source/browse/tags/rewritepending/src/tests/validationIndices/SilhouetteIndexTest.java?r=6

当我尝试运行它时,它运行得很好。

我从uci存储库中获取了IRIS数据集

我修改了代码

//this.trivialTestset =InputReader.readFromfile("C:\\Users\\USERNAME\\Desktop\\Coding\\Clusterer\\src\\easy.valid");

    this.trivialTestset =InputReader.readFromfile("C:\\Users\\USERNAME\\Desktop\\Coding\\Clusterer\\src\\iris.txt");

我收到这些错误

java.lang.NumberFormatException: For input string: "5.1,3.5,1.4,0.2,Iris-setosa"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at input.FeatureVector.<init>(FeatureVector.java:17)
at input.InputReader.readFromfile(InputReader.java:34)
at input.InputReader.readFromfile(InputReader.java:61)
at tests.validationIndices.SilhouetteIndexTest.setup(SilhouetteIndexTest.java:27)

2 个答案:

答案 0 :(得分:0)

数据集格式不正确。

easy.valid文件格式正确,请确保iris.txt文件的格式完全相同。

如果不是,那么你将不得不编写自己的输入解析器。

答案 1 :(得分:0)

正如您在stacktrace中看到的那样,您的程序尝试对字符串Integer.parseInt()执行"5.1,3.5,1.4,0.2,Iris-setosa"。但是这个字符串不是整数。 首先,此字符串中只有两个值。其次,你可以看到文字结束。