I need a driver file for my java code I have already written

I need a driver file for my java code I have already written that demonstrates each of the methods(goToNext, goToPrev, getDataAtCurrent, setDataAtCurrent, insertNodeAfterCurrent, deleteCurrentNode, showList, inList) is working with a double linked list of integers and strings. Please let the answer be typed and NOT a picture of unreadable handwritten code.....

I will provide the java code now:

//GenDoubleLinkedList class

public class GenDoubleLinkedList

{

class ListNode

{

T data;

ListNode nextLink,prevLink;

  

public ListNode()

{

data=null;

this.nextLink=null;

this.prevLink=null;

}

public ListNode(T data,ListNode next,ListNode prev)

{

this.data=data;

this.nextLink=next;

this.prevLink=prev;

}

}

  

ListNode head,current;

  

public GenDoubleLinkedList()

{

this.head=new ListNode();

this.current=this.head;

}

public void goToNext()

{

if(this.current.nextLink!=null)

{

this.current=this.current.nextLink;

}

}

public void goToPrev()

{

if(this.current.prevLink!=null)

{

this.current=this.current.prevLink;

}

}

public T getDataAtCurrent()

{

T result = null;

if(this.current.data!=null)result =this.current.data;

return result;

}

public void setDataAtCurrent(T data)

{

this.current.data=data;

}

public void insertNodeAfterCurrent(T data)

{

ListNode n=new ListNode(data,this.current.nextLink,this.current);

if(this.current!=null)

{

n.nextLink=this.current.nextLink;

this.current.nextLink=n;

}

}

public void deleteCurrentNode()

{

this.current.prevLink.nextLink=this.current.nextLink;

this.current=this.current.nextLink;

}

public void showList()

{

ListNode copy=this.head;

while(copy!=null)

{

System.out.println(copy.data);

copy=copy.nextLink;

}

}

public boolean inList(T data)

{

ListNode copy=this.head;

while(copy!=null)

{

if(copy.data==data)return true;

copy=copy.nextLink;

}

return false;

}

}

Solution

// program to implement doubly linked list
import java.util.Scanner;

public class DoubleLinkedList{
  
   static ListNode head = null;
  
   public static void main(String[] args){
      
       DoubleLinkedList list = new DoubleLinkedList();      
       Scanner in = new Scanner(System.in);
       int n, item;
      
       while(true){
           System.out.println();
           System.out.println(\"1. Insert an item to list \");
           System.out.println(\"2. Delete an item from list \");
           System.out.println(\"3. Display items of list \");
           System.out.println(\"4. Reverse the list \");
           System.out.println(\"5. Exit \");
           System.out.print(\"Enter your choice: \");
           n=in.nextInt();
           switch(n){
               case 1:
                   System.out.print(\"Enter the item to be inserted: \");
                   item=in.nextInt();
                   head=list.insert(head, item);
                   break;
               case 2:
                   System.out.print(\"Enter the item to be deleted: \");
                   item=in.nextInt();
                   head=list.delete(head, item);
                   break;
               case 3:
                   if(head==null)
                       System.out.println(\"List is empty. \");
                   else
                       list.display(head);
                   break;
               case 4:
                   head = list.reverse(head);
                   break;
               case 5:
                   System.exit(0);
               default:
                   System.out.println(\"Wrong choice selected. \");
                  
                      
           }
       }
   }
  
   public ListNode insert(ListNode head, int item){
       if(head==null){
           head = new ListNode(item);
           return head;
       }
       ListNode temp = new ListNode(item);
       ListNode ptr = head;
       while(ptr.next!=null)
           ptr=ptr.next;
      
       ptr.next= temp;
       temp.prev = ptr;      
       return head;
   }
  
   public ListNode delete(ListNode head, int item){
      
       if(head == null){
           System.out.println(\"List is empty. \");
           return head;
       }
       if(head.next==null){
           if(head.data==item){
               head=null;
               return head;
           }
           else{
               System.out.println(\"Item \" + item + \" not present in list. \");
               return head;
           }
       }
       if(head.data == item){
           head=head.next;
           head.prev=null;
           return head;
       }
      
       ListNode current = head.next;
       while(current.next != null){
           if(current.data==item){
               current.prev.next = current.next;
               current.next.prev = current.prev;
               return head;
           }
           current = current.next;
       }
      
       if(current.data == item){
           current.prev.next=null;
           return head;
       }
      
       System.out.println(\"Item \" + item + \" not present in list. \");
       return head;
   }
  
   public void display(ListNode head){
       if(head==null)
           return;
       System.out.print(head.data + \" \");
       display(head.next);
   }
  
  
   //iterative reverse of list
   public ListNode reverse(ListNode head){
      
       if(head == null){
           System.out.println(\"List is empty. \");
           return head;
       }
      
       ListNode temp, ptr;
       temp = head;
       ptr = temp.next;
       temp.next = null;
       temp.prev = ptr;
      
       while(ptr != null){
           ptr.prev = ptr.next;
           ptr.next = temp;
           temp = ptr;
           ptr = ptr.prev;
       }
       head = temp;
       System.out.println(\"List is reversed. \");
       return head;
   }
  
  
}


class ListNode{
   int data;
   ListNode next;
   ListNode prev;
  
   public ListNode(int val){
       data=val;
       next=null;
       prev=null;
   }
}

I need a driver file for my java code I have already written that demonstrates each of the methods(goToNext, goToPrev, getDataAtCurrent, setDataAtCurrent, inser
I need a driver file for my java code I have already written that demonstrates each of the methods(goToNext, goToPrev, getDataAtCurrent, setDataAtCurrent, inser
I need a driver file for my java code I have already written that demonstrates each of the methods(goToNext, goToPrev, getDataAtCurrent, setDataAtCurrent, inser
I need a driver file for my java code I have already written that demonstrates each of the methods(goToNext, goToPrev, getDataAtCurrent, setDataAtCurrent, inser
I need a driver file for my java code I have already written that demonstrates each of the methods(goToNext, goToPrev, getDataAtCurrent, setDataAtCurrent, inser
I need a driver file for my java code I have already written that demonstrates each of the methods(goToNext, goToPrev, getDataAtCurrent, setDataAtCurrent, inser

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site