provando delle 'varianti'....ho visto che se, dove dovrei inserire il cognome, inserisco un numero...il programma non mi da errore...

A questo punto devo aver sbagliato qualcosa a livello codice....però la parte interessata sembra giusta:

cognome = in.nextLine();

...non capisco perchè vuole un numero a questo punto