java - 不使用 API 函数对 String 的 unicode 值求和(String.length 除外)

标签 java unicode

我被指示编写一个对字符串的 Unicode 值求和的应用程序,不使用除 .length 之外的任何 Java API。

所以基本上我必须编写下面的方法而不使用 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;
}

最佳答案

这对我来说听起来像是家庭作业,所以我不会给你代码,而是给你一些提示。

    Java 中的
  1. char 基于 Unicode UTF-16 代码。 char 的长度为 16 位。
  2. short 也是 16 位,int 是 32 位。
  3. 您可以在基本类型之间进行简单的转换,假设它们的长度相同,或者您要转换的内容比您要转换的内容更长(以位为单位)>来自
  4. 某些 Unicode 字符不适合单个 Java char。发生这种情况时,您需要将两个连续的 char(16 位)值合并为一个 int(32 位)。 (注意:请参阅 Character class 上的文档,了解如何判断您是否遇到其中一种情况 - 它与字符代码所在的数字范围有关)。在这些情况下您将获得的char称为代理(在链接文档中指导您的有用提示)。

关于java - 不使用 API 函数对 String 的 unicode 值求和(String.length 除外),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19546659/

相关文章:

java - NoClassDefFoundError : org/apache/poi/ss/formula/udf/UDFFinder error in java

java - 如何使用 PayPal Java SDK 通过其 ID 获取退款详细信息

swift - 从 Swift 中的一系列字符初始化字符串

python - 为什么 PyCharm 的控制台上不显示 unicode 字符串?

java - 从 servlet 加载不同版本的 jar lib

java - 如何从java中的YAML文件中读取?

java - 复合 key 正在更改,Hadoop Map-Reduce?

sql-server - 使用 LiveCode 通过 ODBC 从 SQL Server 检索 unicode 数据

Perl - 将 PC UTF-8 转换为 PC ANSI

python - 打印随机 unicode 字符(不使用 exec)