Вкратце: если вы вводите строковый массив длины t, тогда Scanner # nextLine () ожидает t строк, каждая запись в строковом массиве будет отличаться от другого путем ввода ключа. И сканер # next () будет поддерживать принимая входные данные, пока вы не нажмете enter, а сохраните строку (слово) внутри массива, которая отделена пробелом.
Давайте посмотрим на следующий фрагмент кода
Scanner in = new Scanner(System.in);
int t = in.nextInt();
String[] s = new String[t];
for (int i = 0; i < t; i++) {
s[i] = in.next();
}
, когда я запустите над фрагментом кода в моей IDE (скажем, для длины строки 2), не имеет значения, буду ли я вводить свою строку в качестве
. Вход как: - abcd abcd или
Вход как : -
abcd
abcd
Выход будет как abcd
abcd
Но если в том же коде мы заменим следующий () метод nextLine ()
Scanner in = new Scanner(System.in);
int t = in.nextInt();
String[] s = new String[t];
for (int i = 0; i < t; i++) {
s[i] = in.nextLine();
}
Затем, если вы вводите ввод в приглашении as-abcd abcd
Выход: -
abcd abcd
, и если вы вводите ввод в приглашении как abcd (и если вы нажмете enter, чтобы ввести следующий abcd в другой строке, приглашение ввода просто выйдет, и вы получите выход)
Выход: -
abcd