Мне нужно получить строку из приглашения и juste после того, как мне нужно получить список строк из приглашения. У меня проблема. Когда я получаю свой список, у меня остается только первое слово. Пробую любой другой nextLine() ... но не получается. Я вижу много примеров с двумя словами (один пробел), но я ищу список слов !!
Код Java:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter a name:");
String name = input.next();
System.out.println("Enter a name list:");
String nameList = input.next();
System.out.println("Enter last name:");
String lastName = input.next();
input.close();
System.out.println(name + " * " + nameList + " ** " + lastName);
}
консольный результат:
Enter a name:
aa
Enter a name list:
bb cc dd
Enter last name:
aa * bb ** cc
1-й ответ - аа + ввод
2-й ответ: bb cc dd + enter
но только после dd + enter программа отобразит Enter last name:
aa * bb ** cc и остановится




решение.nextLine()но по всем линиям
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter a name:");
String name = input.nextLine();
System.out.println("Enter a name list:");
String nameList = input.nextLine();
System.out.println("Enter last name:");
String lastName = input.nextLine();
input.close();
System.out.println(name + " * " + nameList + " ** " + lastName);
}
Приставка:
Enter a name:
aa
Enter a name list:
bb cc dd
Enter last name:
ee
aa * bb cc dd ** ee
Да, но вы можете объяснить почему;)?
Я пробовал использовать next () для простых (1 и 3) и next Line () только для 2
Лично я бы использовал
nextLineдля всех запросов, а затем второйScannerдля анализа «списка» значений, но это я - помните,nextбудет читать следующий токен до следующего пробела, поэтомуnameListследует заlastName. означает, что вScannerвсе еще есть токены, которые собираетlastName