1

を除く Java API を使用せずに、文字列の Unicode 値を合計するアプリケーションを作成するように指示されました.length

したがって、基本的には、メソッドを使用せずに以下のメソッドを記述する必要がありますcodePointAt。ただし、独自のユーティリティを作成することはできますが、これを行う方法がわかりません。

誰かが私を助けることができますか?

public static int addChars(String s) {
  int sum = 0;
  int charCount = s.length();

  for(int i=0;i<charCount;i++){
     sum += s.codePointAt(i);
  }

  return sum;
}
4

1 に答える 1

-1

これは宿題のように聞こえるので、コードを提供するのではなく、いくつかのヒントを提供します。

  1. charJava の s は、Unicode UTF-16 コードに基づいています。Acharは 16 ビット長です。
  2. shortも 16 ビットで、int32 ビットです。
  3. プリミティブ型の間で、それらが同じ長さである、またはキャスト先がキャスト元よりも (ビット単位で) 長いと仮定て、自明にキャストできます。
  4. 一部の Unicode 文字は、単一の Java に収まりませんchar。この場合、2 つの連続するchar(16 ビット) 値を 1 つのint(32 ビット) に結合する必要があります。(注:これらの状況のいずれかが発生したかどうかを判断する方法については、Characterクラスのドキュメントを参照してください。文字コードが含まれる数値範囲に関係しています)。これらのchar状況で得られる s は、サロゲートと呼ばれます (リンクされたドキュメントで役立つヒント)。
于 2013-10-23T17:01:05.217 に答える