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