У меня есть текстовый файл с несколькими строками и 3 записями, разделенными запятыми в каждой строке.
Пример:
Советский Союз, Лариса_LATYNINA, 18
США, Michael_PHELPS, 16
Советский Союз, Николай_АНДРИАНОВ, 15
Я пытаюсь разделить их на 3 массива: 1 для страны, 1 для человека и 1 для медалей.
ArrayList<String> country = new ArrayList<>();
ArrayList<String> name = new ArrayList<>();
ArrayList<Integer> medals = new ArrayList<>();
java.io.File file = new java.io.File("Olympics.txt");
Scanner input = new Scanner(file);
input.useDelimiter(" , ");
while(input.hasNext()) {
country.add(input.next());
name.add(input.next());
medals.add(input.nextInt());
}
но я получаю сообщение об ошибке каждый раз, когда пытаюсь его запустить.Я не совсем уверен, как разделить каждый «столбец» в файле на свой собственный массив.
Если я использую useDelimiter(",");
вместо useDelimiter(" , ");
, я получаю следующее исключение:
Exception in thread "main" java.util.InputMismatchException
at java.base/java.util.Scanner.throwFor(Scanner.java:939)
at java.base/java.util.Scanner.next(Scanner.java:1594)
at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
at OlympicWinners.main(OlympicWinners.java:14)
Это ошибка, которую я получаю.Строка 14:
Medals.add(input.nextInt());