Hi I've implemented a Binary search tree in java. It enters data fine. But it throws a Nullpointer exception when attempt to search. Please point where I am wrong. thanks in Advance...
class Node{
int data;
Node leftChild;
Node rightChild;
}
Follwing is my main method and both search and insert methods..
public class Main {
Node root;
public static void main(String[] args) {
    Main main=new Main();
    main.insert(15);
    main.insert(12);
    main.insert(9);
    main.search(12);
}
void insert(int data){
    Node node=new Node();
    node.data=data;
    if(root==null){
        root=node;
        System.out.println("Root node created: "+root.data);
    }else{
        Node current=root;
        Node parent=null;
        while(true){
            parent=current; 
            if(parent.data>data){
                current=parent.leftChild;
                if(current==null){
                    current=node;
                    System.out.println("Created node: "+current.data);
                    break;
                }
            }else{
                current=parent.rightChild;
                if(current==null){
                    current=node;
                    System.out.println("Created node: "+current.data);
                    break;
                }
            }
            if(current==null){
                break;
            }
        }
    }
}
Node search(int data){
    Node current=root;
    if(root==null){
        System.out.println("Empty binary tree");
    }else{
        while(current.data!=data){
            if(current.data>data){
                current=current.leftChild;
            }else{
                current=current.rightChild;
            }
            if(current==null){
                break;
            }
        }
        System.out.print("Data  item Found :"+current.data);
    }
    return current;
}
}
