Проблема:
Ваша проблема здесь в том, что вы используете один и тот же экземпляр Scanner
для двойного чтения файла, что вызывает проблему, поскольку он уже достигает конца файла при первом вызове while
, поэтому, когда вы вспоминаете input.hasNext()
это будет false
, поэтому вы не введете второй while
.
Решение:
Вам необходимо повторно инициализировать сканер input
непосредственно перед вторым вызовом while
:
int lineSum = 0;
int lineNum = 1;
//Re initialize the scanner instance here
input = new Scanner(text);
while (input.hasNext()) {
//Do the calculations
}
Примечание:
Вам также необходимо обратить внимание на вызовы input.nextInt()
и input.next()
в своих вычислениях, чтобы получить желаемое поведение.