Java linked list

  • Java
  • Thread starter XodoX
  • Start date
  • #1
203
0

Main Question or Discussion Point

Can someone tell me why there's no output? I compiled it, and it should work, but there's simply no output (netbeans). It also says "incorrect package" at the top of every file.
It's a linked list that adds cars, sorts them, and (should) display the sorted results.
There's also an error in LinkedList.java. At the bottom - "str.append(cursor+"\n");" it says String concentration in string buffer?


Driver.java
Code:
public class Driver
{

    public static void main(String[] arg)
    {
    
        LinkedList list = new LinkedList();
        
        list.addCar("Porsche 911",312,1994);
        list.addCar("Porsche 911",284,1992);
        list.addCar("BMW M3 ",286,1993);
        list.addCar("Volvo 850",170,1992);
        list.addCar("VW VR6",170,1997);
        
        //Method sort the list after year the car was made
        list.sortList();
        
        //Method to print all objects in List
        System.out.println(list.viewAll());
            
    }
}
LinkedList.java

Code:
import java.util.*;
public class LinkedList
{
    
    private CarNode head = null;
    
    public void addCar(String name , int hk , int year)
    {    
        //If head = null then create the first node
        if(head == null)
        {
            head = new CarNode(name,hk,year,null);
        }
        else
        {
            //If there are more than 1 node
            head = new CarNode(name,hk,year,head);            
        }
                
    }


    public void sortList()
    {
        
        boolean sorted = false;
        
        while(!sorted)
        {
            
            sorted = true;
            
            for(CarNode cursor = head ; cursor.getNext() != null ; cursor = cursor.getNext())
            {
                if(cursor.getYear() < cursor.getNext().getYear())
                {
                    String n = cursor.getName();
                    int y = cursor.getYear();
                    int hk = cursor.getHk();
                    
                    cursor.setName(cursor.getNext().getName());
                    cursor.setYear(cursor.getNext().getYear());
                    cursor.setHk(cursor.getNext().getHk());
                    
                    cursor.getNext().setName(n);
                    cursor.getNext().setYear(y);
                    cursor.getNext().setHk(hk);
                                                        
                    sorted = false;        
                }
                    
            
            }
                    
            
        }
        
        
        
        
    }
    

    public String viewAll()
    {
            
        StringBuffer str = new StringBuffer();    
                
        for(CarNode cursor = head ; cursor != null ; cursor = cursor.getNext())
        {
            //Appending car by car until there are no more cars
            str.append(cursor+"\n");
        }
        return new String(str);
        
    }

    
}
CarNode.java

Code:
public class CarNode
{
    private String name;
    private int hk;
    private int year;
    private CarNode next;
    
    public CarNode(String name,int hk,int year,CarNode next)
    {
        this.name = name;
        this.hk = hk;
        this.year = year;
        this.next = next;
            
    }



    public CarNode getNext()
    {
        return next;
    }
    
    public String getName()
    {
        return name;
    }
    
    public int getHk()
    {
        return hk;
    }
    
    public int getYear()
    {
        return year;
    }
    
    
    public void setName(String in)
    {
        name = in;
    }
    
    public void setHk(int in)
    {
        hk = in;
    }
    
    public void setYear(int in)
    {
        year = in;
    }
    
    
    public String toString()
    {
        return name + " " + hk + " " + year;
    }
    
    
}
 

Answers and Replies

  • #2
Filip Larsen
Gold Member
1,266
194
You almost surely want to move your files into a package [1] by including a package declaration on top of each source file and move the source file to the folder corresponding to this package. Netbeans do, as far as I know, offer a refactoring tool for this.


[1] http://docs.oracle.com/javase/tutorial/java/package/packages.html
 

Related Threads on Java linked list

Replies
6
Views
12K
Replies
9
Views
875
Replies
6
Views
4K
  • Last Post
Replies
12
Views
2K
  • Last Post
Replies
9
Views
4K
Replies
3
Views
619
  • Last Post
Replies
1
Views
3K
  • Last Post
Replies
4
Views
2K
  • Last Post
Replies
1
Views
2K
  • Last Post
Replies
20
Views
3K
Top