有两个字符串数组,array1 和 array2。
String[] array1 = {"1", "2", "3", "4","5","6","7"}
String[] array2= {"苹果", "", "", "香蕉", "", "", "橙子"};
你能帮我写一段java代码来产生类似的输出吗?
逻辑:array2中只要有空值,就添加array1中对应的值
示例: array2[0] = "apple",因此所需的输出是 array1[0] 的值,输出 ={"1"} array2[1] = "" 和 array2[2] = "" 因此所需的输出是 (array1[1]+array1[2]) 的总和,输出 ={"1","5"} array2[3] = "banana",因此所需的输出是 array1[3] 的值,输出 ={"1","5","4"} array2[4] = "" 和 array2[5] = "" 因此所需的输出是 (array1[4]+array1[5]) 的总和,输出 ={"1","5","4","11"} array2[6] = "orange",所以所需的输出是 array1[6] 的值,输出 ={"1","5","4","11","7"}
谢谢
它尝试过这个,。但失败了 String[] array1 = {"1", "2", "3", "4", "5", "6", "7"}; String[] array2 = {"苹果", "", "", "香蕉", "", "", "橙子"};
// Calculate concatenated values and add them to a new array
String[] concatenatedArray = new String[array1.length];
for (int i = 0; i < array1.length; i++) {
int value1 = Integer.parseInt(array1[i]);
int value2 = (array2[i].isEmpty()) ? 0 : Integer.parseInt(array2[i]);
concatenatedArray[i] = String.valueOf(value1 + value2);
}
// Print the concatenated array in the desired format
System.out.print("(");
for (int i = 0; i < concatenatedArray.length; i++) {
System.out.print("\"" + concatenatedArray[i] + "\"");
if (i < concatenatedArray.length - 1) {
System.out.print(",");
}
}
System.out.println(")");
我相信这就是您正在寻找的
String[] array1 = {"1", "2", "3", "4", "5", "6", "7"};
String[] array2 = {"apple", "", "", "banana", "", "", "orange"};
List<String> result = new ArrayList<>();
int sum=0;
for (int i = 0; i < array1.length; i++) {
if(array2[i].length() > 0){
sum=0;
result.add(array1[i]);
}
else{
if(sum != 0){
sum += Integer.parseInt(array1[i]);
result.set(result.size()-1, String.valueOf(sum));
} else{
sum += Integer.parseInt(array1[i]);
result.add(String.valueOf(sum));
}
}
}