我无法打印链表,它无限打印4作为值。这段代码出了什么问题?在下面的代码中,我试图在添加每个元素后实现单链表,而我试图打印它时无限打印4作为输出任何想法为什么?
import java.util.*;
class Linkedit{
static class Node{
static Node next;
int data;
Node(int t){
data=t;
next=null;
}
}
Node head=null;
public void insert(int data){
Node k=new Node(data);
k.next=head;
head=k;
}
public void show(){
Node a=head;
while(a!=null){
System.out.println(a.data);
a=a.next;
}
}
public static void main(String args[]){
Linkedit g=new Linkedit();
g.insert(3);
g.insert(4);
g.insert(5);
g.show();
}
}
答案 0 :(得分:4)
问题在于:
static Node next;
next
成员不应该是静态的,因为每个Node
应该有不同的next
值。
更改
static class Node {
static Node next;
int data;
Node(int t){
data=t;
next=null;
}
}
到
static class Node {
Node next;
int data;
Node(int t){
data=t;
next=null;
}
}
解决您的问题。