Classes de leitura de classe do Java Scanner [duplicado]
Esta questão já tem uma resposta aqui:
Strings de leitura de classe do Java Scanner 5 respostasEu tenho o seguinte código:
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]);
Quando executo este código, o scanner só pega o primeiro nome e não o sobrenome. E, às vezes, ele pula uma linha ao tentar digitar um nome, ele aparece como se eu tivesse deixado o nome em branco e pule para o próximo nome. Eu não sei o que está causando isso.
Espero que alguém possa me ajudar!
EDIT: eu tentei in.nextLine (); conserta os nomes completos mas ainda mantém uma linha, aqui está um exemplo da saída:
How many names are you going to save: 3
Type a name: Type a name: John Doe
Type a name: John Lennon