Hai notato la dichiarazione

codice:
boolean first = true;
?

La prima volta che entro nel ciclo la variabile sarà ancora true e quindi so che si tratta del primo numero.
Poi metto a false la variabile e non avrò più il caso "questo è il primo numero che sto inserendo".. Non capisco la tua difficoltà