Error: Input number format exception

Error: Input number format exception

我正在尝试使用集群算法-java-alpha 库中的源代码,这是 link

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)

数据集格式不正确。

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

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

正如您在堆栈跟踪中看到的那样,您的程序尝试对字符串 "5.1,3.5,1.4,0.2,Iris-setosa" 执行 Integer.parseInt()。但是这个字符串不是整数。 首先,这个字符串中只有双精度值。其次,您可以看到文本结尾。