public void deleteSmaller(int data){
System.out.printf("Deleting data smaller than %d",data);
System.out.println("");
dNode current = head;
dNode lastCurrent;
lastCurrent = head.Previous;
dNode nextCurrent = current.Next;
while(current!= null){
if(data>=current.data){
if(current.Previous == null){
nextCurrent.setPrevious(null);
}else{
lastCurrent.setNext(nextCurrent);
nextCurrent.setPrevious(lastCurrent);
}
}
current=current.getNext();
lastCurrent=current.Previous;
nextCurrent=current.Next;
}
}
I want to delete data of all the nodes smaller than the given data but it keeps throwing null pointer exception.
The question got closed but i tried it myself updated it and now it is working fine .The code below works just fine.
public void deleteSmaller(int data){
System.out.printf("Deleting data smaller than %d",data);
System.out.println("");
dNode current = head;
dNode lastCurrent=null,nextCurrent=current.Next ;
while(current.Next!= null){
if(data>=current.data){
if(current.Previous == null){
nextCurrent.setPrevious(null);
}else{
lastCurrent.setNext(nextCurrent);
nextCurrent.setPrevious(lastCurrent);
}
}
current=current.getNext();
lastCurrent=current.Previous;
nextCurrent=current.Next;
}
}