and when i add a new int data type my program has an error and yet when i add a new String data type it has no error


// objectSort.java
// demonstrates sorting objects (uses insertion sort)
// to run this program: C>java libmainsys
////////////////////////////////////////////////////////////////

class libary
  {
  private String booktitle;
  private String bookauthor;
  private String publisher;
  
  private int nofcop;
  //-----------------------------------------------------------
  public libary(String title, String author, String pub, int nfcp)
   {                // constructor
   booktitle = title;
   bookauthor = author;
   publisher = pub; 
  
   nofcop = nfcp;
   }
  //-----------------------------------------------------------
  public void displaylibary()
   {
   System.out.print("  Book Title: " + booktitle);
   System.out.print(", Book Author: " + bookauthor);
   System.out.print(", Book Publisher: " + publisher);
   
   System.out.println(",No Of Copies : " + nofcop);
   }
  //-----------------------------------------------------------
  public String getLast()      // get title
   { return booktitle; }
  } // end class libary
////////////////////////////////////////////////////////////////
class ArrayInOb
  {
  private libary[] nfcp;        // ref to array ypub
  private int nElems;        // number of data items
//--------------------------------------------------------------
  public ArrayInOb(int max)     // constructor
   {
   nfcp = new libary[max];        // create the array
   nElems = 0;            // no items yet
   }
//--------------------------------------------------------------
                   // put libary into array
  public void insert(String title, String author, String pub, int nofcop)
   {
   nfcp[nElems] = new libary(title, author, pub,  nofcop);
   nElems++;             // increment size
   }
//--------------------------------------------------------------
  public void display()       // displays array contents
   {
   for(int j=0; j<nElems; j++)    // for each element,
     nfcp[j].displaylibary();     // display it
   System.out.println("");
   }
//--------------------------------------------------------------
  public void insertionSort()
   {
   int in, out;
   for(out=1; out<nElems; out++) // out is dividing line
     {
     libary temp = nfcp[out];    // remove marked person
     in = out;          // start shifting at out
     while(in>0 &&        // until smaller one found,
        nfcp[in-1].getLast().compareTo(temp.getLast())>0)
      {
      nfcp[in] = nfcp[in-1];     // shift item to the right
      --in;          // go left one position
      }
     nfcp[in] = temp;        // insert marked item
     } // end for
   } // end insertionSort()
//--------------------------------------------------------------
  } // end class ArrayInOb
////////////////////////////////////////////////////////////////
class libmainsys
  {
  public static void main(String[] args)
   {
   int maxSize = 1000;       // array size
   ArrayInOb arr;         // reference to array
   arr = new ArrayInOb(maxSize); // create the array
   arr.insert("Java_how__to_program", "Patty_John", "Deitel", 201);
   arr.insert("System_Design", "Dexter_Smith", "Thomson", 202);
   arr.insert("Program_Design", "Lorraine_Paul", "About", 199);
   arr.insert("Computer_Architecture", "Paul_Andrew","Dzone", 206);
   arr.insert("Visual_Basic_How_To_ Program", "Tom_Jones", "Jeffereson_publication",  207);
   arr.insert("Information_ Management", "William_Peter", "Mcgraw_Hill", 195);
   arr.insert("Sofware_ Application", "Henry_Sam", "Pearson", 296);
   arr.insert("English", "Samantha_Julia", "James_Hill", 394);
   arr.insert("Web_Publishing", "Audrey_Cynthia", "Surg", 193);
   arr.insert("Human_Computer_Interaction", "Tony_Edward",  "Telde", 202);
   System.out.println("Before sorting:");
   arr.display();         // display items
   arr.insertionSort();      // insertion-sort them
   System.out.println("After sorting:");
   arr.display();         // display them again
   } // end main()
  } // end class libmainsys

Recommended Answers

All 6 Replies

Member Avatar for iamthwee

I've not compiled or tested it but you need to define two insertion sorts.

One for sorting strings the other for integers.\

There is plenty of examples for sorting on internet. Did you looked at them? Please do so, just quick google search brought this
Why I'm telling this to you? Because right now we can only recomend that you follow theory in order to create some code. Then, if you have any problem with this fresh developed code we will advice.

i have try to look for sorting object using Bubble sort on the internet but couldn't , i only found insertion object

i have try to look for sorting object using Bubble sort on the internet but couldn't , i only found insertion object

You didn't look too hard then, I searched "bubble sort" on google and oddly enough, the whole page has results for bubble sort, not insertion. First result is even a wikipedia page and display code.
But isn't bubble sort like the first thing they teach in school?

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.