Вы используете неправильную функцию
scan.next()
return:
Находит и возвращает следующий полный токен с этого сканера.Полному токену предшествует ввод, соответствующий шаблону-разделителю.Этот метод может блокировать ожидание ввода для сканирования, даже если предыдущий вызов hasNext () вернул true.
Вы используете !=
для сравнения с "\n"
неправильно.(если вы хотите сравнить, вы должны использовать String.equals()
. Если вы хотите проверить конец файла, вы должны использовать hasNext()
Вам не нужно добираться до конца строки, scanner.nextLine()
прочитайте всю строку для вас
while (scan.hasNext()) {
String line = scan.nextLine();
String[] parts = line.split(" ");
for (String part : parts) {
try {
int n = Integer.parseInt(part);
// Add to your list
indexes.add(n);
} catch (Exception ex) {
// log
}
}
}