如何从给定的两个字符串数组形成第三个java数组



我正在编写一个处理信号的java代码,我遇到了如下所述的情况:

输入给定:字符串数组arr1和arr2。输出REQD:字符串数组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"one_answers"。

  • arr2在arr1中的"A"、"B"、"c"对应的索引处有一些数字字符串,如"2"、"3"等,arr1中的元素"在arr2中有对应的元素"。

  • arr3由arr1和arr2组成

  • arr3的Number string只对应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 ;
        }
    }
    

    上面的代码现在用必要的值填充了数组,您可以通过对每个值使用Integer.toString()方法将它们更改为字符串。

    如果你需要进一步的说明,请告诉我。快乐编码;)

    相关内容

    • 没有找到相关文章