Basta che sostituisci questo:
codice:
if(vet[i].equals(codice)){
con questo:
codice:
if(vet[i]!=null && vet[i].equals(codice)){
Ho fatto questo perché ogni variabile di istanza se non specificato esplicitamente viene inizializzata al valore iniziale proprio nullo, per tutti i reference è null per un int è 0, essendo String comunque un oggetto allora l'array vet è una lista di reference e visto che non inizializzi le istanze il valore che gli viene settato è automaticamente null questo implica che quando chiami il metodo controlloCodice siccome vet ha tutto settato a null il controllo vet[i].equals(codice) da' un nullpointer in quanto è come se java facesse questo controllo null.equals(codice) che non è possibile in quanto il valore è null, quindi prima di passare al controllo con il metodo equals fai semplicemente un'altro controllo per verificare che vet[i] non sia null e le due && servono proprio per fare in modo che se vet[i] è null il controllo non viene fatto e l'if viene saltato direttamente.
Nota anche che quando inizializzi dim usi:
codice:
private static int i, dim = 0;
ma è superfluo inizializzare esplicitamente dim a 0 dato che lo fa' automaticamente java essendo una variabile di instanza.