Как удалить элемент из массива?
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
Массивы имеют статическую длину, и удаление элемента не сокращает размер, а просто преобразует этот элемент в нулевой объект (в большинстве случаев), чтобы иметь возможность удалять или добавлять элементы во время выполнения, рассмотрите возможность использования объектов списка, они являются универсальными и могут обеспечить большую гибкость.