Я пытаюсь взять два одномерных массива и сплести их в новый массив. Например
a = (1,2,3) & b = (44,55,66,77,88)
взяв эти два массива и сплетя их, получим
c = (1,44,2,55,3,66,77,88)
Я искренне верил, что решил это, но не могу понять, почему этот код выводит
c/interleave as 1,44,2,55,66,77,88,0
Код:
public static int[] interleave(int[] a, int[] b)
{
int [] interleave = new int [a.length + b.length];
int j = 0, k = 0;
for (int i = 0; i < (a.length + b.length);i++)
{
if (((i % 2 == 0) || (k >= b.length)) && (j < a.length))
{
interleave[i] = a[j];
j++;
}
if (((i % 2 == 1) || (j >= a.length)) && (k < b.length))
{
interleave[i] = b[k];
k++;
}