У меня в основном не было проблем со связанными списками на C++, но по какой-то причине это доходит до меня. У меня был один узел, который был распечатан с использованием других классов в пакете, который был предоставлен, но по мере того, как я продолжаю, я просто продолжаю сталкиваться с стенами.Как отлаживать мою очередь связанных Java-списков?
Код, приведенный ниже, находится в руинах из-за того, что я возился. Я просто не знаю, куда идти отсюда. На данный момент появляется исключение нулевого указателя.
Только для информации: poll()
просто снимает текущую головку и возвращает ее, offer()
добавляет в тыл. На данный момент исключение составляет oldLast.next = last
в методе предложения.
Я не прошу никого, чтобы полностью решить эту проблему. Мне просто нужны подсказки для прогресса.
public class FIFOQueue implements Queue {
//put your name as the value of the signature.
String signature = "name";
Node head = new Node(null);
Node pointer = head;
Node first;
Node last;
Node prev;
Node curr;
class Node {
Process process;
Node next;
Node(Process p) {
this.process = p;
this.next = null;
}
}
@Override
public void offer(Process p) {
if(head == null)
{
head = new Node(p);
first = head;
last = head;
}
else
{
Node oldLast = last;
Node newNode = new Node(p);
last = newNode;
oldLast.next = last;
}
}
@Override
public Process poll() {
if(isEmpty())
throw new NoSuchElementException();
Node oldPointer = first;
first = first.next;
head = first;
return oldPointer.process;
}
@Override
public boolean isEmpty() {
return head == null;
}
@Override
public String getSignature() {
return signature;
}
}
Вы должны быть более конкретными. У вас больше шансов получить ответ, если вы скажете: «Я получаю« ArrayIndexOutOfBoundsException »в строке 15», чем «Вещи не работают, и я надеюсь, что вы можете мне помочь». – Kayaman
Правда, извините. На данный момент я получаю исключение из «\t \t \t oldLast.next = last;» в функции предложения. – Clannadqs
Если вы получаете «NPE» оттуда, то ваш «oldLast» имеет значение null. См. Http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix-it для всякий раз, когда вы получаете «NullPointerException». – Kayaman