Java 为什么我的';上一个';我的双链表是这样工作的吗?

Java 为什么我的';上一个';我的双链表是这样工作的吗?,java,Java,我正在用Java编写一个程序来实现双链表 我已通过以下方式初始化了涉及“prev”(上一个节点)的方法: 我的程序工作不正常,所以我写了一个程序测试prev的值,它是: public int tester() { IntDNode t = head; t = t.getNext(); t = t.getPrev(); return t.getValue(); } 我向数组中添加了5个元素(01 2 3 4 5) 如果没有t=t.getPrev(),则我的值为

我正在用Java编写一个程序来实现双链表

我已通过以下方式初始化了涉及“prev”(上一个节点)的方法:

我的程序工作不正常,所以我写了一个程序测试prev的值,它是:

public int tester() {

    IntDNode t = head;
    t = t.getNext();
    t = t.getPrev();

    return t.getValue();
}
我向数组中添加了5个元素(01 2 3 4 5)

如果没有t=t.getPrev(),则我的值为1。
对于t=t.getPrev(),我的值应为0时为2


我不知道我是在什么地方错误地初始化了我的方法,还是没有正确地赋值

您的构造函数是什么样子的?getPrev和get Next的构造函数的形式是:public IntDNode getPrev(){return prev;}为getNext()切换单词“prev”和“Next”。在我的代码中没有明确的内容可以让getPrev转到getNext,因为我只是返回“prev”的值,我指的是您的构造函数。最初如何设置
prev
next
的值?您有某种类型的
public IntDNode(){}
,对吗?对不起,我误解了。我有:public class IntDNode(){val=0;prev=null;next=null;}对不起,您可以发布整个
IntDNode
类吗?到目前为止,我没有发现你所付出的有什么错。
public int tester() {

    IntDNode t = head;
    t = t.getNext();
    t = t.getPrev();

    return t.getValue();
}