java - 如何添加两个内容为数字的字符数组?

标签 java

我想知道如何将两个字符数组的内容相加。
例如,

char[] a = {1,2,3}
char[] b = {1,2,3}
//the output should be c  
char[] c = {2,4,6}

我知道这不是正确的编码,但我需要知道如何完成。

最佳答案

因为这很可能是一个学习练习,这里有一些完成它的提示:

  • char 表示数字是数字常量,表示从 '0''9' 的 UNICODE 代码点,包括在内。
  • 要从 char 值中获取数字值,请从中减去 '0',如下所示:int digitA = a[i] - '0';
  • 要添加两个“数字”,从每个数字的后面开始,循环向后到前面
  • 保留一个“进位”值,即零或一,取决于相加的结果是小于十还是大于十
  • 在每一步中,将digitA加到digitB上,并将carry加到总和上。
  • 通过将总和与 10 进行比较,为下一个操作进位。
  • 通过将 sum % 10 应用于结果来获取该总和的最后一位。
  • sum % 10上加上'0'得到结果的位数,放入结果中
  • 请注意,如果从最高位开始有一个进位,结果数组可能比两个数组中最长的一个长。
  • 您需要在循环中维护三个索引 - 一个用于结果,两个用于两个数字中的每一个
  • 您不知道结果是否需要额外的数字,因此预先为额外的数字分配空间可能更容易,如果它最终为零则将其删除。

关于java - 如何添加两个内容为数字的字符数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22239338/

相关文章:

java - BlockingQueue 的 drainTo() 方法的线程安全

java - 如何在 Google PhoneNumberLib 中使用 findNumbers?

java - 调用另一个类中的方法会导致 NullPointerException

java - 从 listview 到我的自定义适配器的 setAdapter 编译器错误

java - 执行不会等到 Alertdialog.dismiss()

java - Hibernate @ManyToOne 映射 - 无需设置 @Id 属性即可自动加载

java - 使用带索引的流将 java 列表转换为映射

java - 创建一个可执行的 JAR 及其所有依赖项,并使用 maven assembly 放入 ZIP 文件

java - 如何从 Eclipse JUnit java 类中引用文本文件?

java - 除非 schema_version 表在数据库中,否则 Flyway 基线不起作用