[英]How to form a Third java Array from given Two String Arrays
我正在编写用于处理遇到以下情况的信号的Java代码,如下所述:
给定输入:字符串数组arr1和arr2。 输出要求:字符串数组arr3
String[] arr1= {"A", "c", "c", "", "", "c", "c", "B", "", "c","c", "", "A", "", "", "B", "B", "A"};
String[] arr2= {"2", "3", "3", "", "", "2", "1", "3", "", "2","3", "", "2", "", "", "3", "2", "3"};
String[] arr3= {"11", "", "", "", "", "", "", "8", "", "", "", "", "2", "", "", "3", "2", "3"};
算法:1. arr1具有4种类型的元素:“ A”,“ B”,“ c”和“”。
arr2在arr1中与“ A”,“ B”和“ c”相对应的索引处具有一些数字字符串,如“ 2”,“ 3”等,arr1中的元素“”在arr2中具有相应的元素“”。
arr3由arr1和arr2组成。
arr3的数字字符串仅对应于arr1中的“ A”,“ B”元素。
在arr3中,第一个数字字符串“ 11”来自“ 2”,“ 3”,“ 3”,“”,“”,“ 2”,“ 1”的总数。 这些是从“ A”到“ B”的元素(包括“ A”,不包括“ B”)。 “ 8”来自“ 3”,“”,“ 2”,“ 3”,“”的总数。 下一个“ 2”来自“ 2”,“”,“”的总数。 最后清楚的是,“ 3”,“ 2”,“ 3”分别来自“ 3”,“ 2”,“ 3”。
作为编程和Java的新手,在上述情况下我需要帮助。 谢谢您的期待。
我建议您将arr2和arr3声明为int数组,这将帮助您轻松进行任何数学运算。
说到解决方案的方法,我们可以做的是维护所有3个数组的公共索引,然后对arr1进行检查,并对arr2和arr3进行必要的操作。
String[] arr1 = {"A", "c", "c", "", "", "c", "c", "B", "", "c","c", "", "A", "", "", "B", "B", "A"};
int[] arr2 = {2, 3, 3, 0, 0, 2, 1, 3, 0, 2, 3, 0, 2, 0, 0, 3, 2, 3};
int len = arr1.length, sum=0;
int[] arr3 = new int[len];
for(int i=0; i<len; i++){
arr3[i] = 0;
}
for(int i = 0 ; i < len ; i++ ){
sum=0;
if(arr1[i].equals("A") || arr1[i].equals("B")){
sum += arr2[i];
int j=0;
for(j = i+1; j < len && !arr1[j].equals("A") && !arr1[j].equals("B"); j++){
sum += arr2[j];
}
arr3[i] = sum;
i= j-1 ;
}
}
上面的代码现在用必要的值填充arr3,您可以通过在每个值上使用Integer.toString()
方法将它们更改为字符串。
如果您需要任何进一步的说明,请告诉我。 快乐的编码;)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.