Здравствуйте. У меня проблемы с чтением из CSV-файла, который содержит 3 столбца в строке. Кажется, я не могу разобрать последнюю ячейку (3) в целое число, даже если она всегда является строкой, пригодной для синтаксического анализа: Берлин, Буэнос-Айрес, 7402 Я не могу получить 7402, все броски компилятора:
"в java .base / java .lang.NumberFormatException.forInputString (NumberFormatException. java: 68) в java .base / java .lang.Integer.parseInt (Integer. java: 658) в java .base / java .lang.Integer.parseInt (целое число. java: 776)
У меня есть код:
Scanner scan = new Scanner("worldcities.csv");
scan.useDelimiter("[,\\n]"); // get everything before a comma or a newline
while(scan.hasNext()) { // while this file has something then we
edge.v1 = scan.next(); // take vertice1 ----> city 1
edge.v2 = scan.next(); //take vertice2 ----> city 2
edge.e = Integer.parseInt(scan.next()); // parse the third value as int(distance between city1 and city2)
minheap.add(edge);
}
scan.close();
I похоже, что в отладчике можно получить первые 2 значения в порядке.
консоль просто показывает "