2015-04-18 2 views
0

Я пытаюсь использовать исходный код из кластера-алгоритмы-Java-альфа библиотеки это ссылкаОшибка: Введите число исключений формат

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

Когда я пытаюсь запустить его он прекрасно работает.

Я взял набор данных IRIS из Uci хранилища

Я изменил код

//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) 

ответ

0

набор данных не отформатирован.

Файл easy.valid правильно отформатирован, убедитесь, что файл iris.txt отформатирован точно так же.

Если это не так, вам нужно написать свой собственный парсер ввода.

0

Как вы можете видеть в стеке, ваша программа пыталась выполнить Integer.parseInt() для строки "5.1,3.5,1.4,0.2,Iris-setosa". Но эта строка не является целым числом. Во-первых, в этой строке есть только двойные значения. Во-вторых, вы можете увидеть завершение текста.