我正在通过使用堆栈和链表来解决塔游戏,并通过使用递归将块从一个塔移动到另一个塔。
我在我的问题中遇到了一个导致 java.lang.NullPointerException 的问题。我猜为什么会发生这种情况是我尝试从堆栈中弹出值,即使没有条目。在我设置绑定控制后,我仍然收到该错误。
错误指向 deleteFirst() 方法的行,但即使在我检查列表是否为空之后,我也不明白为什么会发生这种情况。
我在这里的任务只是传递塔或 LinkedStack 对象,然后以塔游戏的方式移动它们的内容。
错误:
Exception in thread "main" java.lang.NullPointerException
at LinkList.deleteFirst(towers.java:47) // code with: **first = first.next;**
at LinkedStack.pop(towers.java:82) // code with: return theList.deleteFirst();
at LinkListApp.doTowers(towers.java:146) // code with: A.pop();
at LinkListApp.doTowers(towers.java:140) // doTowers(a-1, A, C, B);
at LinkListApp.main(towers.java:121) // doTowers(nDisks, linkA, linkB, linkC);
我在这里做错了什么?我无法完成这项工作。正如它应该。