Classe socio vip

o que ha de errado nesta classe? nos atributos tenho que ter um array de tamanho 5 que registra os generos dos ultimos filmes que ele retirou.Como este array pode nao estar totalmente preenchido, use um atributo para marcar a ultima posicao ocupada…como se faz isso??

public class SocioVip extends Socio{
   private int[] arrayGenero;
   private int ultimaPosicaoOcupada;
   private String enderecoDoSocio;
   
   //construtor
   
   public SocioVip(int n, String nS, String end){
       super(n, nS);
       ultimaPosicaoOcupada = 0;
       enderecoDoSocio = end;
       arrayGenero = new int[5];
       for(int i = 0; i < 5; i++)
          arrayGenero[i] = 0;
    }
     public void retiraFilme(int numDoGenero){
         super.retiraFilme();
         for(int i = 0; i < i.length; i ++)
          if( i == lotado)
           i = 0;
        }
        public void anunciaLancamento(String titulo, String genero){
           System.out.println("Anunciamos o lancamento do filme:  " + 
               titulo + " - " + genero);
        }    
        public int getUltimaPosicaoOcupada(){
            return ultimaPosicaoOcupada;
        }
        public String getEnderecoDoSocio(){
            return enderecoDoSocio;
        }
   
}

*Editado: tags code foram adicionadas

Preciso que você esplique mais detalhadamente como é essa questão de guardar os códigos. Pode?

sim, se o array é de 5 posicoes, qdo chegou no indice 4 ele esta lotado, entao ocupara a posicao 1 que é o indice 0.[code]

[code]public void setUltimaPosicaoOcupada()
{
if(ultimaPosicaoOcupada == 4)
{
ultimaPosicaoOcupada = 0;
}
else
{
ultimaPosicaoOcupada++;
}

}[/code]