当前位置: 代码迷 >> Eclipse >> 在java中为什么之前已经建立了链表了,在插入的时候,和删除的时候出错解决办法
  详细解决方案

在java中为什么之前已经建立了链表了,在插入的时候,和删除的时候出错解决办法

热度:369   发布时间:2016-04-23 18:58:15.0
在java中为什么之前已经建立了链表了,在插入的时候,和删除的时候出错
StartL .java
import com.heke.Link.*;
public class StartL {
public static void main(String[] args) {
Linklist L=new Linklist();
L.add("a");
L.add("ke");
L.prt();

}

}



Linklist.java
package com.heke.Link;
class Node{
String data;
Node next;
public Node(String data)
{
this.data=data;
next=null;
}
public Node()
{}
}

public class Linklist {
public Linklist()
{
root=new Node();
}
private Node root;

public void add(String da)
{
Node newn=root.next;
Node newnp=root;
while(newn!=null)
{
newnp=newn;
newn=newn.next;
}
newnp.next=new Node(da);
newnp.next.next=null;
}
public boolean search(String data)
{
Node newn=root.next;
while(!newn.data.equals(data))
newn=newn.next;
if(newn.next==null)
return false;
else
return true;

}
public void delete(String data)
{
Node newn=root.next;
Node newnp=null;
while(newn.data!=data)//为什么这得newn还为null
{
newnp=newn;
newn=newn.next;
}

if(newn!=null)
{
newnp.next=newn.next;
}
}
public void prt()
{
Node newn=root.next;
while(newn!=null)
{
System.out.println(newn.data);
newn=newn.next;
}
}
public void Insert(String data,String da)
{
Node newn=root.next;
while(newn.data!=data)
newn=newn.next;
if(newn!=null)
{
Node newnp=newn.next;
newn.next=new Node(da);
newn.next.next=newnp;
}
}


}


------解决方案--------------------
我将你写的三个类放在同一个package,运行文件没任何问题,没有空指针的错误,你确定有问题?
  相关解决方案