LinkedList class
/*This is the main class which created Linked List*/ import java.io.*; public class LinkedList{ private Node firstNode,lastNode; public LinkedList(){ firstNode=null; lastNode=null; } public void setLastNode(Node node) { lastNode=node; } public void setFirstNode(Node node) { firstNode=node; } public Node getFirstNode() { return (firstNode); } public Node getLastNode() { return (lastNode); } public Node createNode(Data data){ Node newNode=new Node(); newNode.setData(data); newNode.setNext(null); return (newNode); } public void insertNode(Node node) { if(this.getFirstNode()==null) { this.setFirstNode(node); this.setLastNode(node); } else { Node temp; temp=this.getFirstNode(); while(temp.getNext()!=null){ temp=temp.getNext(); } temp.setNext(node); this.setLastNode(node); } } public void showList() { Node temp; temp=this.getFirstNode(); while(temp!=null) { System.out.println("The Current Node is :"+temp.getData().getData()); System.out.println(); temp=temp.getNext(); } } public static void main(String args[]) throws IOException { LinkedList myList=new LinkedList(); BufferedReader consoleInput=new BufferedReader(new InputStreamReader(System.in)); Data data=new Data(); Node newNode=new Node(); String input; System.out.println("Enter Some Names"); System.out.println("Enter stop to quit"); do{ input=consoleInput.readLine(); data.setData(input); myList.insertNode(myList.createNode(data)); }while(!input.equals("stop")); //data.setData(name); //myList.insertNode(myList.createNode(data)); myList.showList(); } }
Node Class
public class Node { private Data data; //The Data Object to hold data part of the Node private Node next; // The Node Object which holds reference to the next Node //default constructor for Node public Node(){ next=null; } //Method for setting the Node's Data public void setData(Data data) { this.data=data; } //Method for setting the pointing part of the Node public void setNext(Node next){ this.next=next; } //Method for getting the Node's Data public Data getData(){ return (data); } //Method for getting the Nodes' pointing part public Node getNext(){ return (next); } }
Data Class
/*This is Data Class Which Holds The Data Part of the Node*/ class Data { private String name; //String which is the Data Part of the Node //Mutator method for setting the string public void setData(String str){ this.name=str; } //Mutator method for getting the string public String getData(){ return (this.name); } }
The output I was is to display the input but instead I am getting the sentinel value over and over.
Can any one help me fix this. I need it ASAP
This is the output I get
Enter Some Names
Enter stop to quite
Jogn
A
F
V
C
X
stop
The Current Node is :stop
The Current Node is :stop
The Current Node is :stop
The Current Node is :stop
The Current Node is :stop
The Current Node is :stop
The Current Node is :stop
Press any key to continue . . .