简体   繁体   English

Java中单个字符串数组中两个integer数组的元素之和

[英]Sum of elements of two integer array in a single string array in Java

i have aa string array which contains two integer array ["[1,2,3]","[4,5,6,7,8]"]我有一个字符串数组,其中包含两个 integer 数组 ["[1,2,3]","[4,5,6,7,8]"]

I want to add the elements of integer array for example - 1+4,2+5,3+6 and store and print the result in a single integer array - [4,7,9,7,8]例如,我想添加 integer 数组的元素 - 1+4,2+5,3+6 并将结果存储并打印在单个 integer 数组中 - [4,7,9,7,8]

What is the efficient approach to solving this problem?解决这个问题的有效方法是什么?

String[] strArray={"[1,2,3]","[4,5,6,7,8]"};
String[] s1=strArray[0].substring(1, strArray[0].length() - 1).split(",");
String[] s2=strArray[1].substring(1, strArray[1].length() - 1).split(",");

// put string array length which ever length is bigger like in this case s2 is bigger than s1 and loop through it.
Integer[] output = new Integer[s2.length];

for(int i=0; i < s2.length; i++) {
    if(i < s1.length) {
        output[i] = Integer.parseInt(s1[i]) + Integer.parseInt(s2[i]);
    } else {
        output[i] = Integer.parseInt(s2[i]);
    }
}
            
for(int j=0;j<output.length;j++) {
    System.out.println(output[j]);
}

Try this:尝试这个:

String[] strArray={"[1,2,3]","[4,5,6,7,8]"};

String[] strArray1 = strArray[0].substring(1, strArray[0].length()-1).split(",");
String[] strArray2 = strArray[1].substring(1, strArray[1].length()-1).split(",");

int maxArrLength = Math.max(strArray1.length, strArray2.length);

int[] resultIntArray = new int[maxArrLength];

for (int i=0; i < maxArrLength; i++) {
    if (strArray1.length>i) resultIntArray[i] += Integer.valueOf(strArray1[i]);
    if (strArray2.length>i) resultIntArray[i] += Integer.valueOf(strArray2[i]);
}

System.out.println(Arrays.toString(resultIntArray));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM