Basta che sostituisci questo:
con questo:codice:if(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.codice:if(vet[i]!=null && vet[i].equals(codice)){
Nota anche che quando inizializzi dim usi:
ma è superfluo inizializzare esplicitamente dim a 0 dato che lo fa' automaticamente java essendo una variabile di instanza.codice:private static int i, dim = 0;

Rispondi quotando