Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Java linked list

  1. May 7, 2012 #1
    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 (Text):

    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 (Text):

    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 (Text):

    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;
        }
       
       
    }
     
     
  2. jcsd
  3. May 8, 2012 #2

    Filip Larsen

    User Avatar
    Gold Member

    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
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Java linked list
  1. Linked List (Replies: 9)

  2. Linked list (Replies: 12)

Loading...