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

如何从给定的两个字符串数组形成第三个java数组,java,arrays,array-initialization,Java,Arrays,Array Initialization,我正在编写一个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", "",

我正在编写一个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有一些数字字符串,如“2”、“3”等。在arr1中与“A”、“B”和“c”对应的索引处,arr1中的元素“”在arr2中有相应的元素“”

  • arr3由arr1和arr2组成

  • arr3的数字字符串仅对应于arr1中的“A”、“B”元素

  • 在arr3中,第一个数字字符串“11”来自“2”、“3”、“3”、“1”、“2”、“1”的总和。这些是从“A”到“B”的元素(包括“A”,不包括“B”)。“8”是“3”、“2”、“3”、“3”的总和。下一个“2”来自“2”、“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 ;
        }
    }
    
    String[]arr1={“A”、“c”、“c”、“c”、“c”、“B”、“c”、“c”、“c”、“c”、“A”、“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,和=0;
    int[]arr3=新的int[len];
    
    对于(int i=0;i我建议您将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 ;
        }
    }
    
    String[]arr1={“A”、“c”、“c”、“c”、“c”、“B”、“c”、“c”、“c”、“c”、“A”、“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,和=0;
    int[]arr3=新的int[len];
    
    对于(int i=0;i我建议您将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 ;
        }
    }
    
    String[]arr1={“A”、“c”、“c”、“c”、“c”、“B”、“c”、“c”、“c”、“c”、“A”、“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,和=0;
    int[]arr3=新的int[len];
    
    对于(int i=0;i我建议您将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 ;
        }
    }
    
    String[]arr1={“A”、“c”、“c”、“c”、“c”、“B”、“c”、“c”、“c”、“c”、“A”、“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,和=0;
    int[]arr3=新的int[len];
    
    对于(int i=0;我你实际的具体问题是什么?目前来看,你的问题看起来像是一个相当广泛的家庭作业请求。如果这是一个作业,那么你的第一个帮助来源应该是你的教授/老师,而不是堆栈溢出。嗨,这不是作业,这是一个非常具体的需要。即使是伪代码也可以帮助我。@Garry,你可以编写pseudocode.在注释中,用人类语言描述步骤,就像你对需要精确指示的人所做的那样。然后采取其中一个步骤并为其编写代码。重复。你可以从“arr1中的每个索引,按升序”开始。如果您对尝试过的内容有具体问题,请访问stackoverflow。不要期望stackoverflow用户为您编写代码。您实际的具体问题是什么?目前来看,您的问题看起来像是一个相当广泛的家庭作业要求。如果这是一项作业,那么您的第一个帮助来源应该是您的教授/老师r、 不是堆栈溢出。嗨,这不是赋值,这是一个非常具体的需要。即使是伪代码也可以帮助我。@Garry,你可以编写伪代码。在注释中,用人类语言描述步骤,就像你对需要精确说明的人那样。然后采取其中一个步骤并为其编写代码。重复。你可以从“对于arr1中的每个索引,按升序排列"。如果您对尝试过的内容有具体问题,请访问stackoverflow。不要期望stackoverflow用户为您编写代码。您实际的具体问题是什么?目前来看,您的问题看起来像是一个相当广泛的家庭作业要求。如果这是一项作业,那么您的第一个帮助来源应该是您的教授/老师r、 不是堆栈溢出。嗨,这不是赋值,这是一个非常具体的需要。即使是伪代码也可以帮助我。@Garry,你可以编写伪代码。在注释中,用人类语言描述步骤,就像你对需要精确说明的人那样。然后采取其中一个步骤并为其编写代码。重复。你可以从“对于arr1中的每个索引,按升序排列"。如果您对尝试过的内容有具体问题,请访问stackoverflow。不要期望stackoverflow用户为您编写代码。您实际的具体问题是什么?目前来看,您的问题看起来像是一个相当广泛的家庭作业要求。如果这是一项作业,那么您的第一个帮助来源应该是您的教授/老师r、 不是堆栈溢出。嗨,这不是赋值,这是一个非常具体的需要。即使是伪代码也可以帮助我。@Garry,你可以编写伪代码。在注释中,用人类语言描述步骤,就像你对需要精确说明的人所做的那样。然后选择一个