Заданы массивы А (n) и В (m). Сформировать массив С (n + m), элементами которого являются n элементов массива A, за которыми следуют m элементов массива B. Можете посмотреть код, я просто не уверенна, что все правильно сделала.
В консоль выдает только 1 2 3 4.
public class six{
public static void main(String[] args) {
String[] A = {"1", "2"};
String[] B = {"3", "4"};
String[] C = new String[A.length + B.length];
int f = 0;
for (int i = 0; i < A.length; i++) {
C[f] = A[i];
f +=1;
}
for (int i = 0; i < B.length; i++) {
C[f] = B[i];
f +=1;
}
for (int i = 0; i < C.length; i++) {
System.out.println(C[i]);
}
}
}
У вас задача связана с конкатенацией массивов. Проблема в том, что вы не можете прицепить один массив к другому или же расширить массив до требуемой длины. Потому, что длина массива фиксирована. Вам нужно создать новый массив и скопировать туда элементы массивов последовательно. Что вы и сделали, только зачем делать это вручную, такой код потом трудно использовать и модифицировать. Если можно использовать потоки из массивов, то эта задача решается так:
String[] C = Stream.concat(Arrays.stream(A), Arrays.stream(B))
.toArray(String[]::new);
public class six{
public static void main(String[] args) {
int[] A = {"1", "2"};
int[] B = {"3", "4"};
int[] C = [A.length + B.length];
int f = 0;
for (int i = 0; i < A.length; i++) {
C[f] = C[f] + A[i];
f +=1;
}
for (int i = 0; i < B.length; i++) {
C[f] = C[f] + B[i];
f +=1;
}
for (int i = 0; i < C.length; i++) {
System.out.println(C[i]);
}
}
}
Могу предложить такой вариант:
String[] a = {"1", "2"};
String[] b = {"3", "4"};
String[] c = new String[a.length + b.length];
System.arraycopy(a, 0, c, 0, a.length);
System.arraycopy(b, 0, c, a.length, b.length);
Вывод:
System.out.println(Arrays.toString(c));
[1, 2, 3, 4]
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости