当前位置: 代码迷 >> Java相关 >> 刚开始学JAVA,链表发现调用失败,求高手指点
  详细解决方案

刚开始学JAVA,链表发现调用失败,求高手指点

热度:439   发布时间:2013-10-23 10:35:11.0
刚开始学JAVA,链表发现调用失败,求高手指点
代码还没写完,在测试功能的时候就出现问题了:

package linkedlist;
import java.util.*;

class Node         //建立泛型类的单链表
{
    public Object data;
    public Node next;
   
    public Node(Object data,Node next){        //构造方法
        this.data=data;
        this.next=next;
    }
    public Object getData(){
        return data;
    }
    public void setData(Object data){
        this.data=data;
    }
    public Node getNext(){
        return next;
    }
    public void setNext(Node next){
        this.next=next;
    }
}

public class LinkedList {
    Node first;      //头部
    Node tail;      //尾部
    int length;     //长度
   

    public void add(Object ndata)       //实现插入操作
    {
        Node item=new Node(ndata,null);
        Node temp=first;
        while(null!=temp.getNext()){
            temp=temp.getNext();
        }
        temp.setNext(item);
        length++;
    }
   
    public void delete(int index){                   //实现删除操作
        Node temp=first;
        for(int i=0;i<index-1;i++){
            temp=temp.getNext();
        }
        length--;
        temp.setNext(temp.getNext().getNext());
    }

    public void find(int index){               //实现查找操作
        Node temp=first;
        for(int i=0;i<index;i++){
            temp=temp.getNext();           
}      
        System.out.println(temp.getData());
    }
   
    public void union(){
        
     
        
    }
   
    public void intersection(){
        
    }
   
    public void difference(){
        
    }
   
    public static void main(String[] args) {
        LinkedList list=new LinkedList();  
        Scanner in=new Scanner(System.in);
        System.out.println("请输入集合1:");          //输入集合1
        String st1=in.nextLine();
        System.out.println("请输入集合2:");
        String st2=in.nextLine();
        System.out.println("请输入数字进行相应操作:");
        System.out.println("0:退出   1:插入   2:删除   3:查找");
        int num=in.nextInt();
        switch(num){
            case 0:
                break;
            case 1:
                System.out.println("结果为:");
                list.add(st1);
                list.add(st2);
                break;
            case 2:
                System.out.println("结果为:");

                break;
            case 3:
                list.add(st1);
                list.add(st2);
                System.out.println("结果为:");
                list.find(2);
                break;
            default:
                System.out.println("输入有误,请重新输入:");
               
        }

    }
}

输出结果:
搜索更多相关的解决方案: import  return  public  Object  package  

----------------解决方案--------------------------------------------------------
空指针异常,看你的37行和90行是不是有什么注入或者设值的,里面的参数或许是null,你看看是你没有初始化,还是你的值没有设值好
----------------解决方案--------------------------------------------------------
  相关解决方案