Это, очевидно, даст исключение вне границы, поскольку вы не отслеживаете длину массивов a
и b
. Поскольку k = a + b
, a
и b
всегда будут меньше k
. Отсюда и исключение.
И когда вы применяете эту проверку, не забудьте скопировать оставшиеся элементы, будь то a[]
или b[]
, чтобы скопировать их в c[]
. Смотрите это -
for(;i<a.length;i++)
c[k++] = a[i++];
for(;j<b.length;b++)
c[k++] = b[j++];