尝试在没有 java 内置方法的情况下使用链表,但 "head" 显示错误

Trying to use linked list without java in-built methods but "head" showing error

我试图在不使用 Java util 的情况下使用链表,但我在“head”中收到错误消息 head cannot be resolved to a variable Java(33554515) 我不明白这里有什么问题。

 class LL {
    //Make node class
    class Node{
        String data;
        Node next;

        Node(String data){
            this.data=data;
            this.next=null;
        }
    }
    //add in linkedlist
    //add first
    public void addFirst(String data){
        Node newNode = new Node(data);
        if(head==null){
            head=newNode;
            return;
        }
        newNode.next=head;
        head=newNode;

    }

    public static void main(String[] args) {
        LL list = new LL();
        list.addFirst("A");
        list.addFirst("B");
    }

}

您的代码使用了一个名为 head 的变量,但您从未定义过该变量。

至少你需要改变你的代码如下:

class LL {
    // Define a variable named head at LL level
    private Node head;

    ...
}

我还建议改进您的代码如下:

  • 定义每个字段和方法的可见性(publicprivateprotected
  • 对整个代码使用一致的格式。例如,如果您决定在 class 的名称和符号 { 之间放置一个 space,请对整个代码执行此操作,例如将 class Node{ 更改为 class Node {
  • 在需要时使用注释来解释代码中不明显的内容,例如注释 // add first 不会向名为 addFirst
  • 的方法添加任何内容