首页 > 解决方案 > 如何在java中的每次迭代中打印变量的值(下一个,上一个,当前,当前下一个)?

问题描述

我正在编写反向链表逻辑,但我想要每次迭代中的变量值。那么,我可以打印价值吗?因为我想像这样打印 System.out.println(current.data); 然后我得到空指针异常。所以,我可以解决它或打印值。

 Node reverse(Node node)
{
    Node prev = null;
    Node current = node;
    Node next = null;
    while (current != null) {
        next = current.next;
        current.next = prev;
        prev = current;
        current = next;
        
        System.out.print(node.data+"R");
        System.out.println(current.data+"S");
        System.out.print(current.next.data);
    }
    node = prev;
    return node;
}

标签: java

解决方案


在循环开始时打印数据以保证它current不为空。

Node reverse(Node node)
{
    Node prev = null;
    Node current = node;
    Node next = null;
    while (current != null) {
        System.out.print(node.data+"R");
        System.out.println(current.data+"S");
        System.out.print(current.next.data);
        next = current.next;
        current.next = prev;
        prev = current;
        current = next;
    }
    node = prev;
    return node;
}

NPE 是因为您在将当前节点设置为下一个节点之后打印当前数据,这是不可取的,因为您不知道它是否为空。


推荐阅读