Объединяем массивы

  • 6
  • Недоступна
Реализовать метод main(String[]), в котором нужно скопировать содержимое массивов firstArray и secondArray в один массив resultArray. Массив firstArray должен быть в начале нового массива resultArray, а secondArray — после него.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (208)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Максим
Уровень 7
позавчера, 10:56
public static void main(String[] args) { int[] resultArray = new int[firstArray.length + secondArray.length]; int i = 0; while (i < resultArray.length) { if (i < firstArray.length) { resultArray[i] = firstArray[i]; } if (i >= firstArray.length) { resultArray[i] = secondArray[i]; } i++; } for (int a = 0; a < resultArray.length; a++) { System.out.print(resultArray[a] + ", "); } } } Пишет Index 10 out of bounds for length 10, на 21 строке. Не понимаю почему не работает, и выходит за границы массива. Помогите пожалуйста
20 ноября, 15:18
resultArray инициализируйте в методе main
Eduard System Engineer
17 ноября, 11:57
Из разных опробованных вариантов проверку прошёл только этот: resultArray = new int [firstArray.length + secondArray.length]; System.arraycopy(firstArray, 0, resultArray, 0, firstArray.length); System.arraycopy(secondArray, 0, resultArray, firstArray.length, secondArray.length);
Yurii Tsvetkov
Уровень 6
9 ноября, 20:11
resultArray = new int [firstArray.length+secondArray.length]; for (int i=0; i<firstArray.length;i++){ resultArray[i]=firstArray[i]; } for (int i=0; i<secondArray.length; i++){ resultArray[i+firstArray.length]= secondArray[i]; } for (int i = 0; i < resultArray.length; i++) { System.out.print(resultArray[i] + ", "); }
Vin BenZin
Уровень 6
9 ноября, 16:26
public class Solution {
    public static int[] firstArray = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    public static int[] secondArray = new int[]{10, 11, 12, 13, 14, 15, 16, 17, 18, 19};
    public static int[] resultArray;

    public static void main(String[] args) {
        //напишите тут ваш код
        int[] resultArray = new int[firstArray.length+secondArray.length];
        for (int i = 0; i < firstArray.length; i++) {
            resultArray[i]=firstArray[i];
        }
        for (int i = firstArray.length; i < resultArray.length ; i++) {
            resultArray[i]=(secondArray[i- firstArray.length]);
        }


        for (int i = 0; i < resultArray.length; i++) {
            System.out.print(resultArray[i] + ", ");
        }
    }
}
Почему пишет что не выполнено требование "Реализуй метод main(String[]) согласно условию."?
Tony P
Уровень 11
30 октября, 17:15
переменная объявленная внутри цикла, действует только внутри цикла? одну и ту же переменную можно/нужно объявлять в каждом цикле заново?
Михаил
Уровень 23
30 октября, 13:37
for (int i = 0; i < resultArray.length; i++){ if(i < firstArray.length) resultArray[i] = firstArray[i]; else { resultArray[i] = secondArray[i - firstArray.length];
Арсений
Уровень 10
28 октября, 10:03
Пытался как-то избавиться от цикла for, но так и не смог ничего придумать
public static void main(String[] args) {
        resultArray = Arrays.copyOf(firstArray,firstArray.length+secondArray.length);
        for(int j=0; j< secondArray.length;j++){
            resultArray[firstArray.length+j] = secondArray[j];
        }
        for (int i = 0; i < resultArray.length; i++) {
            System.out.print(resultArray[i] + ", ");
        }
    }
LukasKeyn
Уровень 11
16 октября, 09:53
Задача сложная на самом деле, если с нуля в это все дело заходишь. В лекциях подобных примеров не было, непонятно было как это все работает.
Leon JlEOH
Уровень 32
11 октября, 15:25
Две строчки или прозрачнее