Итак, я создал класс LinkedList с нуля.Мой метод append (Object o) добавляет объект в конец списка, prepend (Object o) добавляет объект в начало, а indexOf (Object o) возвращает индекс данного объекта.
Единственная вещь, которую я не могу заставить работать - это мой метод get (int i).Ну, это неверно.Работает нормально.Он возвращает объект по указанному индексу в списке, как я хочу.Единственная проблема заключается в том, что он не будет перехватывать исключения IndexOutOfBounds.
public class LinkedList {
//node class
public class Node {
public Object data;
public Node next;
public Node (Object data) {
this.data = data;
}
}
//variables
protected Node head;
//after this is my append, prepend, etc methods but they aren't important
public Object get(int index) {
if (index < 0)
return null;
Node current = null;
try {
if (head != null) {
current = head.next;
for (int i = 1; i < index; i++) {
if (current.next == null) {
return null;
}
current = current.next;
}
if (current.data == null) {
throw new IndexOutOfBoundsException();
}
else
return current.data;
}
}
catch (IndexOutOfBoundsException e) {
System.out.println("Warning: Index out of bounds");
}
return current;
}
Я не хочу, чтобы этот код возвращал значение NULL, если в индексе i нет элемента, но для перехвата исключения.Тем не менее, это не поймает исключения, независимо от того, что я делаюПожалуйста, помогите мне точно определить и исправить ошибку.Спасибо!