尝试在没有 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;
...
}
我还建议改进您的代码如下:
- 定义每个字段和方法的可见性(
public
、private
、protected
)
- 对整个代码使用一致的格式。例如,如果您决定在 class 的名称和符号 { 之间放置一个 space,请对整个代码执行此操作,例如将
class Node{
更改为 class Node {
- 在需要时使用注释来解释代码中不明显的内容,例如注释
// add first
不会向名为 addFirst
的方法添加任何内容
我试图在不使用 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;
...
}
我还建议改进您的代码如下:
- 定义每个字段和方法的可见性(
public
、private
、protected
) - 对整个代码使用一致的格式。例如,如果您决定在 class 的名称和符号 { 之间放置一个 space,请对整个代码执行此操作,例如将
class Node{
更改为class Node {
- 在需要时使用注释来解释代码中不明显的内容,例如注释
// add first
不会向名为addFirst
的方法添加任何内容