Buonasera

mi stavo esercitando sulla ricorsione cercando di ricordare tutti i passaggi.
Ma mi sa che sbaglio qualcosa.

in questo semplice metodo cerco di controllare se in un vettore ci sono o meno tutti numeri 5 :

codice:
public boolean rvett(int v[], int i){
     
  boolean tf=true;

  if(i == x)   // x è la dimensione massima del vettore v 
   return tf;   
  
  if(v[i] != 5 ){
   tf=false;   
   return tf;   
  }
   
  return rvett(v,i++);
   
}
Eseguendolo mi entra in un loop infinito..