【 課題 】以下の文字列をハッシュ値に変換するCプログラムをJavaで書き直せ。
【 形態 】1. Javaアプリケーション
【 期限 】2週間以内。
【 Ver  】java version "1.6.0_03"
      Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
      Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode, sharing)
【 補足 】ただ単にJavaで書き直せだそうです。

// 入力引数: *key : ハッシュするキー
// size : アドレス空間の大きさ
// 戻り値 hv : ハッシュ値
unsigned int hash(char *key, unsigned int size) {
unsigned int h = 0 , //
hv , // ハッシュ値
g ; //
int i ; //
for(i = 0; key[i] != '\0'; i++) {
h = (h << 4) + key[i] ;
g = h & 0xf0000000 ;
if (g != 0) {
h = h ^ (g >> 24) ;
h = h ^ g ;
}
}
hv = h % size ;
return hv ;
}