我想知道如何添加两个char数组的内容 例如,
char[] a = {1,2,3}
char[] b = {1,2,3}
//the output should be c
char[] c = {2,4,6}
我知道这不是正确的编码,但我需要知道如何做到这一点。
答案 0 :(得分:2)
由于这很可能是一次学习练习,所以有一些指示可以完成它:
char
是表示从'0'
到'9'
的UNICODE代码点的数字常量。char
值中获取数字值,请从中减去'0'
,如下所示:int digitA = a[i] - '0';
digitA
添加到digitB
,然后将carry
添加到总和中。sum % 10
应用于结果来获取该总和的最后一位数。'0'
添加到sum % 10
,并将其放入结果carry
,则结果数组可能比两个数组中的最长数组长。答案 1 :(得分:0)
迭代两个数组并添加结果
public static void main(String[] args) {
char[] a = new char[] {1,2,3};
char[] b = new char[] {1,2,3};
char[] sum = new char[3];
for(int i = 0; i < 3; i++)
sum[i] = (char)((int)a[i] + (int)b[i]);
}
显然,这里有很多边缘案例并不好。但这是我能想象的最直接的答案。
答案 2 :(得分:0)
对于你的问题,我冒昧地写了一个正确的代码,说明我从你的问题中得到了什么。
/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
// your code goes here
char[] a = {1,2,3};
char[] b = {1,2,3};
char[] c = {0,0,0};
for (int i=0; i< 3; i++){
c[i] = Character.forDigit(a[i]+b[i],10);
System.out.println(c[i]);
}
}
}