Hi,
I am stuck in implementing the linked list in Java. I am using three classes to construct Liked List. One is Data Class (for holding Node's Data), Node Class (which encapsulates the Node properties) and a Linked List Class. Though it creates a successful linked list, but when I want to print the list then something goes wrong. Pleas help me in debugging the code. Also if any one knows about how to debug Java programs in eclipse, then please tell me. Here is the code.
1. 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);
}
}
2. Node Class
/*This is the Node Class Which creates the Nodes*/
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);
}
/*public static void main(String args[])
{
System.out.println("Hay I am Successful");
}*/
}
3. Link List 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 stope to quite");
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();
}
}
Thanks