Я любитель Java и пытаюсь поместить содержимое сканера в массив. Это то, что у меня есть на данный момент: `
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
int l = scannerLength(sc);
sc.close(); sc = null; sc = new Scanner(System.in);
int[] input = new int[l];
for (int i = 0; i < l; i++) {
input[i] = sc.nextInt();
System.out.println(input[i]);
}
}
private static int scannerLength(Scanner sc) {
int output = 0;
while(sc.hasNextInt()) {
output++;
sc.nextInt();
}
return output;
}
`
Я пытаюсь эффективно «сбросить» сканер после того, как моя вспомогательная функция определяет его длину, аннулируя его и объявляя заново, поэтому я могу использовать nextInt для помещения элементов в массив. Но я получаю исключение NoSuchElementException в строке 8.
Кто-нибудь может сказать мне, почему это так? Я бы подумал, что после сброса сканера sc.nextInt() в строке 8 не создаст проблем.