Вы не говорите, как выглядит ваш входной файл, поэтому трудно сказать вам точно , что не так, но я подозреваю, что проблема в том, что вы используете hasNextLine
в вашем l oop, но nextInt
когда читаешь. Это не будет вести себя так, как вы ожидаете для ввода, как это, например:
1 2 3
Обратите внимание, что есть одна строка, поэтому hasNextLine
вернет false, потому что, в то время как в то время как есть несколько целых, только одна строка.
Вместо этого вы, вероятно, захотите: Scanner # hasNextInt
Кроме того, этот лог c, вероятно, неверен :
for(int i = 0; i < arr.length; i++) {
while (scanner.hasNextLine()) {
arr[i] = scanner.nextInt();
System.out.println(arr[i]);
}
Когда сканер переходит к следующему токену, вы не можете go назад. Таким образом, вы можете читать с него только один раз, не создавая новый сканер.
Вам, скорее всего, понадобится следующее:
int i = 0;
while (scanner.hasNextInt()) {
arr[i] = scanner.nextInt();
System.out.println(arr[i]);
i++;
}
Это будет go через сканер один раз и правильно заполнить ваш значения.