Member 12937928 Ответов: 1

Как удалить элемент из массива?


public void deleteLesson(lesson l) {
       int index = isExistLesson(l);
       if (index != -1) {
           lesson[] newL = new lesson[size - 1];
           for (int i = 0; i < index; i++) {
               newL[i] = listLesson[i];
           }
           for (int i = index + 1; i < size - 1; i++) {
               newL[i] = listLesson[i + 1];
           }
           listLesson = newL;
           size--;
       } else {
           System.err.println("Not Exist");
       }
   }

   public int isExistLesson(lesson l) {
       for (int i = 0; i < size; i++) {
           if (listLesson[i].equals(l)) {
               return i;
           }
       }


Что я уже пробовал:

Я попытался исправить свою ошибку, но есть ошибка исключения нулевой точки
@Override
public String toString() {
    String res = "Student{" + "name=" + name + " Id:" + id + ":Lessons [";
    for (int i = 0; i < number - 1; i++) {
        res += listLesson[i].toString() + ", ";

        res += listLesson[number - 1].toString() + "]}";
        return res;
    }

    return res;
}

в этой части кто-нибудь может мне помочь, пожалуйста?

NotPolitcallyCorrect

"кто-нибудь может мне помочь, пожалуйста", может быть. Сначала вам нужно будет задать вопрос или описать проблему с вашим кодом.

Afzaal Ahmad Zeeshan

Массивы имеют статическую длину, и удаление элемента не сокращает размер, а просто преобразует этот элемент в нулевой объект (в большинстве случаев), чтобы иметь возможность удалять или добавлять элементы во время выполнения, рассмотрите возможность использования объектов списка, они являются универсальными и могут обеспечить большую гибкость.

1 Ответов

Рейтинг:
0

Richard MacCutchan

Вы тот же человек, который написал Может ли кто-нибудь помочь мне советом по созданию проекта системы управления университетом?[^]? Если да, пожалуйста, удалите дубликат учетной записи.