Java:得到两个数组,如果一个数组的长度小于另一个数组的长度,则将缺失值替换为1

Java: Get two arrays and if length of one is smaller than the length of the other, replace missing values with 1

你好,所以问题是:如果 array1 小于 array2,用数字 1 替换缺失值,这样 array1 缺失值可以乘以 array2,就好像它们是数字 1? 这是我关于如何去做的想法......帮助正确的语法?最好的解决方法?

public addMissingNumber(int[] array1, int[] array2){

for (int 1 = array1.length; i > 0; i--)
   for(int j = array2.length; j > 0; j--){
       if(array1[i] < array2[j]) {
         array1[i].[j] = 1; 

/*what I want to say here is that the empty position of the array1[i] that is equivalent to the position of array2[j] that contains a number should become the number 1. How can this be done?* 
}
}

}

这是原试题,第二部分是我遇到的问题: 编写一个名为 add 的方法,它接受两个 double 类型的数组 v 和 w 作为其参数。该方法应该 return 通过添加输入数组的相应元素形成的新双精度数组。也就是说输出数组的元素i应该等于v[i]+w[i].

如果 v 和 w 的长度不同,则输出数组的长度应为 (v.length, w.length) 的最大值。 在计算输出时,应假定较短数组的缺失元素为一个。

试试这个:

public double[] addMissingNumber(double[] array1, double[] array2){  

             double[] arraynew = new double[max(array1.length,array2.length)];
              int i = 0;
              int j = 0;
              int k = 0;
              while ( i < array1.length && j < array2.length) {
                     arraynew[k] = array1[i] + array2[j];
                     i++;
                     j++;
                     k++
              }

              while(i < array1.length) {
                  arraynew[k] = array1[i]+1;
                  i++;
                  k++;
              }

               while(j < array2.length){
                   arraynew[k] = array2[j]+1;
                   j++;
                   k++;
               }

           return arraynew;
    }

您不需要将 1 放入数组中。只需遍历两个数组直到它们相等并存储 sum 。之后遍历更长的数组,每次都加1