プログラミング言語: Java タスク: 中国語の文字列を数字にマッピングするハッシュ関数の設計 問題: 漢字の正しい読み取りと表示
これは宿題の質問ですが、漢字の読み方を実装するのに苦労しているだけで、やり方を聞いているわけではありません。
私の仕事の簡単な説明: 私たちのクラスの (中国の) 学生の名前を学生 ID やその他の衛星データ (性別、電話番号など) にマップするハッシュ関数を設計することです。
私はまだそれについて考えていますが、他の言語と同じように、これの範囲には、文字の文字エンコーディングを使用して、ハッシュ関数を介して、間違いがなければ一意の値を考え出すことが含まれます。
この一連の思考の妥当性をテストするために私がしなければならないことは次のとおりです。
// test whether console can read chinese characters
Scanner s = new Scanner(System.in);
System.out.print("Please enter a Chinese character: ");
int chi = (int)s.next().toCharArray()[0];
System.out.println("\nThe string entered is " + chi);
単純な System.out.println("character") ステートメントを使用すると、正しい文字が表示されます。
しかし、上記のように、Scanner を使用して入力を読み取る場合、文字列を char 配列に変換してから、それに相当する int Unicode に変換しようとしましたが、ばかげた数値になり、正しく表示できません。
この誤った値を使用してハッシュ関数を設計できることはわかっていますが、衝突の可能性を作成しないようにするため (これらが一意の誤った値を生成するかどうかはわかりません)、学習のために、どのように指摘できますか?異なるマシン間で漢字の入力を統一することはできますか?
いつも感想ありがとうございます。:D
バッジョ。