Cadenas de lectura de clase Java Scanner

Obtuve el siguiente 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.nextLine();
}

Y la salida para ese código es la siguiente:

How many names are you going to save:3 
Type a name: Type a name: John Doe
Type a name: John Lennon

Observe cómo se saltó la entrada del primer nombre? Se lo saltó y fue directo a la entrada del segundo nombre. He intentado buscar lo que causa esto, pero parece que no soy capaz de clavarlo. Espero que alguien pueda ayudarme. Gracias

Respuestas a la pregunta(5)

Su respuesta a la pregunta