簡體   English   中英

Java中單個字符串數組中兩個integer數組的元素之和

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

我有一個字符串數組,其中包含兩個 integer 數組 ["[1,2,3]","[4,5,6,7,8]"]

例如,我想添加 integer 數組的元素 - 1+4,2+5,3+6 並將結果存儲並打印在單個 integer 數組中 - [4,7,9,7,8]

解決這個問題的有效方法是什么?

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]);
}

嘗試這個:

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