Non vedo errori di sintassi ,e non ho provato il programma !
comunque mi sembra che ci sia un errore di logica ,
il controllo in questione
lo devi inserire all' interno del while , se esterno confrontera max col solo ultimo numerocodice:if(numero > max){ max = numero; }
inserito mentre se interno con ogni numero inserito.

