public static String[] strings;
// первый код (рабочий)
    public static void main(String[] args) {
        strings = new String[new Scanner(System.in).nextInt()];
        for (int i = 0; i < strings.length; i++) {
            strings[i] = new Scanner(System.in).nextLine();
        }
        for (int i = 0; i < strings.length; i++) {
            System.out.print(", " + strings[i]);
        }
    }
}
С созданием сканера в каждой нужной строчке всё отрабатывает правильно (см. первый код), но когда создаю сканер в начале кода (см. второй код), в первую ячейку массива присваивается пустое значение (не null).
public static String[] strings;
// второй код (нерабочий)
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        strings = new String[scan.nextInt()];
        for (int i = 0; i < strings.length; i++) {
            strings[i] = scan.nextLine();
        }
        for (int i = 0; i < strings.length; i++) {
            System.out.print(", " + strings[i]);
        }
    }
}