Retirar item do vetor

Bom dia amigos meu código está dando Exception in thread “main” java.lang.NullPointerException quando tento imprimir a lista após reitrar o item dela, é um código que simula uma lista encadeada com vetor, se puderem me ajudar.

class ListaUsandoVetor{
    int tam_vet_elem, prim, num_elem;
    No vet_elem[];

     ListaUsandoVetor(int tam_vet_elem){
	   prim = -1;
	   num_elem = 0;
	   this.tam_vet_elem = tam_vet_elem;
	   vet_elem = new No[tam_vet_elem];
	   int i;
	   for(i = 0; i < tam_vet_elem; i++) vet_elem[i] = null;
}
void InsereInicio(int mat, float nota, String nome){
	if(num_elem == tam_vet_elem) DobraTamanhoCopiandoElementos();
	Random gerador = new Random();
	int n;
	do{
		n = gerador.nextInt() % tam_vet_elem;
		if((n >= 0) && (vet_elem[n] == null)) break;
	}while(true);
	vet_elem[n] = new No(mat, nota, nome);
	vet_elem[n].prox_no = prim;
	prim = n;
	num_elem++;
}

   void RetiraPosicao(int pos){
	int ind = prim;
	while(ind != -1){
		if(vet_elem[ind]. != 0 && vet_elem[ind].mat ==  mat);
		{
			vet_elem[ind] = null ;
		}
		if(vet_elem[ind] == null) {
			break;	
		}
		ind = vet_elem[ind].prox_no;
	}
   }
}

void Imprime(){
	int ind = prim;
	while(ind != -1){
		System.out.println(vet_elem[ind].mat + " " + vet_elem[ind].nota + " " +
				vet_elem[ind].nome);
		ind = vet_elem[ind].prox_no;
	}
}

O código que você postou não tem o método main.