У меня есть следующий фрагмент кода из моего класса тестера.Ошибка вычисления parseInteger Java
FileReader freader=new FileReader(filename);
BufferedReader inputFile=new BufferedReader(freader);
int numScores = 0;
String playerType = "";
String nameHome = "";
String playerName = "";
String home = "";
String location = "";
int score = 0;
String date = "";
double courseRating = 0;
int courseSlope = 0;
ArrayList<Player> players = new ArrayList<Player>();
while (inputFile.read()!= -1) {
numScores = Integer.parseInt(inputFile.readLine());
playerType = inputFile.readLine();
nameHome = inputFile.readLine();
StringTokenizer st = new StringTokenizer(nameHome,",");
playerName = st.nextToken();
home = st.nextToken();
Программа компилируется, однако при запуске тестера я получаю следующую ошибку вывода.
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:592)
at java.lang.Integer.parseInt(Integer.java:615)
at PlayerTest.main(PlayerTest.java:34)
Я попытался исследовать это и то, что я Фульда был там, возможно, пространство, когда он изменяет строку, которая считывается из файла данных и преобразует его в междунар. Я пробовал читать прямо в strin, обрезая строку, а затем преобразовывая в int, но он получил ту же ошибку.
Это был код, который заменил numScores = Integer.parseInt (inputFile.readLine());
tempScores = inputFile.readLine();
tempScores.trim();
System.out.println(tempScores);
numScores = Integer.parseInt(tempScores);
Любая помощь приветствуется.
* отредактирован, чтобы показать образец данных выборки данных из файла
3
B
James Smith, Strikers
FWB Bowling, 112,09/22/2012
White Sands, 142,09/24/2012
Cordova Lanes,203,09/24/2012
ясно «» не является числом ... – StackFlowed
Используйте отладчик. Добавьте переменную String и назначьте значение строки чтения. Verify - это фактическое число. Если он проверяет каждый символ. –