Normal qu'il ne veuille pas compiler !
J'ai implosé de rire en voyant l'érreur :
Un int ne contient que des entiers , convertis les nombres en double pour avoir des nombres décimaux.
C'est une erreur qui arrive souvent et a chaque fois ça me fait rire car c'est juste un mot qui est pas bon et tout foire x)
Bref , je pense que cette ligne :
private static int reverseHash(int i)
Et celle la :
private static int hash(int i)
Si tu les change en ça :
private static int reverseHash(double i)
private static int hash(doube i)
Je pense que ça devrait fonctionner