Объект указан как ноль? - PullRequest
       4

Объект указан как ноль?

0 голосов
/ 30 марта 2020

Сейчас я создаю программу, в которой вы объединяете два массива в один. Кажется, он проходит все остальные испытания, кроме этого. Например, вот что показывает мой вывод:

Банан Яблоко Капуста Морковь Груша Апельсиновый горох Брокколи Клубника

* s1 слитно с s2 *

ПРОЙДЕНО:

ОЖИДАЕТСЯ ->

Банан, Яблоко, Капуста, Морковь, Груша, Апельсин, Горох, Брокколи, Клубника

Фактически ->

Банан, Яблоко, Капуста, Морковь, Груша, Апельсин, Горох, Брокколи, Клубника

Новый тест

Банан Яблоко Груша Капуста Морковь Апельсин Клубника ноль

* s1 объединено с s2 * СБОЙ:

ОЖИДАЕТСЯ ->

Банан, яблоко, груша, капуста, морковь, горох, апельсин, клубника, брокколи

АКТУАЛЬНО ->

Банан, яблоко, груша, капуста, морковь, горох, апельсин, клубника

В других тестах брокколи в порядке, но в вывод неудачного теста указан как «ноль» вместо брокколи. Я попытался реализовать для l oop в нижней части моего метода, который должен решить эту проблему, установив любые нулевые элементы списка во временную копию списка, но похоже, что я делаю это неправильно.

public void merge(ArrayMerge<? extends R> collection, int offset) {

        int offsetCounter = 0;
        int thisCounter = 0;
        int collectionCounter = 0;

        R[] currentArray = arr;

        R[] templist = (R[]) new Object[this.size() + collection.size()];
        for (int i = 0; i < templist.length; i++) {
            if (offsetCounter < offset) {
                try {
                    templist[i] = this.get(thisCounter++);
                    offsetCounter++;
                } catch (Exception e) {

                }

            } else if (offsetCounter >= offset) {
                try {
                    templist[i] = collection.get(collectionCounter++);
                    offsetCounter++;
                } catch (Exception e) {

                }
            }
            if (offsetCounter == offset * 2) {
                offsetCounter = 0;
            }
            System.out.println(templist[i]);
        }

        for (int i = 0; i < templist.length; i++) {
            if (templist[i] != null) {
            this.arr[i] = templist[i];
            }
        }
    }
...