Scanner.next()
прочитать следующий токен из входного потока и дать String
.
Если вы хотите прочитать следующее целое число, вы должны использовать nextInt()
вместо:
teams.setRanking(parser.nextInt());
Редактировать
Вы получили InputMismatchException
, потому что по умолчанию Scanner
использует пробел Java в качестве разделителя.
WHITESPACE_PATTERN = Pattern.compile("\\p{javaWhitespace}+")
В вашем случае в качестве разделителя используются запятая ,
и новая строка \n
, поэтому необходимо настроить разделитель для вашего сканера:
Scanner parser = new Scanner(inputFile);
s.useDelimiter(",|\\n")
Еще одно обходное решение - прочитать всю строку и разобрать вашу строку:
String line = parse.nextLine();
String[] parts = line.split(",");
team.setTeamName(parts[0]);
team.setRanking(Integer.parse(parts[1]));
Вы можете выбрать одно из двух решений выше