albertotrabacchin ha scritto:
il parametro viene assegnato alla variabile intera "numeroStudenti" tramite nextInt ( ). Successivamente con un ciclo for assegno ogni stringa (che comprende cognome e nome dello studente) all'array list denominato "studenti" tramite nextLine ( ).
È il "solito" e noioso problema che leggo almeno 2~3 volte alla settimana sui forum.
Se ad un nextInt() si inserisce 123
<invio> il nextInt() restituisce 123 ma il "newline" digitato rimane bufferizzato in Scanner e sarà scartabile ad un successivo nextInt, nextLong ecc.... Ma siccome si usa appena dopo nextLine(), esso lo prende come una riga "vuota".
Tutto qui. NON è un "baco" di Scanner, funziona
così.
Soluzione? O si evita il mix di nextLine() con gli altri nextXXX (es. si usa solo nextLine e si converte a int, ecc.. quanto serve) oppure si fa un nextLine "a vuoto" (senza usare il valore di ritorno) giusto per buttare via la riga.