【问题标题】:Getting Issue with print method in double Linked list code in javajava中的双链表代码中的打印方法出现问题
【发布时间】:2015-10-10 10:20:27
【问题描述】:

我正在用java编写一个非常简单的双链表代码,一切都很好。 但是当我想打印变量时,它会打印 null。 我尝试将对象转换为原始数据类型,但它不起作用

Node.java

public class Node {

Object data;
Node next,prev;

public Node()
{
    next=null;
    prev=null;
}


public Node(Object d)
{
    data=d;
    next=null;
    prev=null;

}

public Node(Object d , Node n, Node p)
{
    data=d;
    next=n;
    prev=p;
}
}

List.java

public class List {

Node head;

public List()
{
    head=null;
}

public void insert(Node x)
{
    x.next=head;
    if(head!=null)
    {
        head.prev=x;
    }
    head=x;
    x.prev=null;
}

public Node search(Object k)
{
    Node x=head;
    while (x!=null && !x.data.equals(k))
    {
        x=x.next;

    }
     return x;
}

public void delete(Node x)
{
    if (x.prev!=null)
    {
        x.prev.next=x.next;
    }

    else 
    {
        head=x.next;
    }

    if (x.next!=null)
    {
        x.next.prev=x.prev;

    }
}


public void print()
{
    for (Node i=head; i!=null; i=i.next)
    {
        System.out.println(i.data + " ");
    }
}
}

MainClass.java

public class MainClass {

public static void main(String[] args) 
{
    List t=new List();
    Node a=new Node((Integer)(10));
    Node b=new Node((Integer)(50));
    Node r=new Node("Hello World" + " ");

    t.insert(a);
    t.insert(b);
    t.insert(r);
    t.print();
    t.delete(r);
    t.print();

    if(t.search(r)!=null)
    {
        System.out.println(" Node Found ");
    }
    else
    {
        System.out.println(" Node not Found ");
    }


}

}

我得到了 '空'

而不是,

 10 50 Hello world 10 50

请帮忙。 谢谢。

【问题讨论】:

    标签: java list double


    【解决方案1】:

    它不能用发布的代码打印null

    此外,它应该打印Node FoundNode not Found

    也许你正在执行另一个代码?

    【讨论】:

    • 我知道,但确实如此!不知道为什么?
    • 尝试调试insert 方法,查看接收的内容,是否正确修改节点以及是否将头部设置为正确的值。为了便于调试,您可以向 Node 添加一个toString 方法来打印数据及其上一个和下一个值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-04
    • 2021-09-21
    • 1970-01-01
    • 2011-08-07
    • 2011-08-08
    • 2019-06-14
    相关资源
    最近更新 更多