Строки чтения класса Java Scanner [дубликаты]
На этот вопрос уже есть ответ здесь:
Строки чтения классов Java Scanner 5 ответовЯ получил следующий код:
int nnames;
String names[];
System.out.print("How many names are you going to save: ");
Scanner in = new Scanner(System.in);
nnames = in.nextInt();
names = new String[nnames];
for (int i = 0; i < names.length; i++){
System.out.print("Type a name: ");
names[i] = in.next();
}
System.out.println(names[0]);
Когда я запускаю этот код, сканер выбирает только имя, а не фамилию. И иногда он пропускает строку при попытке ввести имя, он будет отображаться так, как будто я оставил имя пустым, и перейти к следующему имени. Я не знаю, что вызывает это.
Я надеюсь, что кто-то может мне помочь!
РЕДАКТИРОВАТЬ: я пробовал in.nextLine (); он исправляет полные имена, но сохраняет строку, вот пример вывода:
How many names are you going to save: 3
Type a name: Type a name: John Doe
Type a name: John Lennon