Queens College, CUNY Department of Computer Science CSCI 212 Project 1-Spring 2018 Assigned: Date Due: Cut Off: 27 February 2018 12 March 2018 16 March 2018 Write a complete Class for an object called a Box. The Box should have three integer instance variables, one for the length, one for the width and one for the height of the Box. Provide two constructors: one with no parameters that creates a box with a length, width and height of one, and a three-argument constructor that creates a Box with the given length, width and height. Error checking should be done to ensure none of the parameters is less than one. Include get and set methods for each of the instance variables, again with appropriate error detection. Provide a public, no- parameter method called volume that will return the volume of the Box (i.e., length times width times height). Override the methods equals and toString that are inherited from class Object. A call to the toString method should result in a String as follows (given the input line cited below): L:12 W:4 H:15 (V 720) Write a main program that will read Box information from a file and store the Boxes in an array. The format of the input file will be three integers per line separated by commas, representing the length, width and height of the Box: 12,4,15 Write a class called BoxGUI that extends JFrame. The BoxGUI should contain a grid layout with one row and two columns. Display the original array in the left column, and then sort the array (by volume) and display it in the right column. Use Selection Sort as shown in class to sort the array. The display of the Boxes should be done using the toString method of class Box. Submit the following Java class files through Blackboard by midnight of the due date to receive full credit: Project1.java Box.java BoxGUI.java Queens College, CUNY Department of Computer Science CSCI 212 Project 1-Spring 2018 Assigned: Date Due: Cut Off: 27 February 2018 12 March 2018 16 March 2018 Write a complete Class for an object called a Box. The Box should have three integer instance variables, one for the length, one for the width and one for the height of the Box. Provide two constructors: one with no parameters that creates a box with a length, width and height of one, and a three-argument constructor that creates a Box with the given length, width and height. Error checking should be done to ensure none of the parameters is less than one. Include get and set methods for each of the instance variables, again with appropriate error detection. Provide a public, no- parameter method called volume that will return the volume of the Box (i.e., length times width times height). Override the methods equals and toString that are inherited from class Object. A call to the toString method should result in a String as follows (given the input line cited below): L:12 W:4 H:15 (V 720) Write a main program that will read Box information from a file and store the Boxes in an array. The format of the input file will be three integers per line separated by commas, representing the length, width and height of the Box: 12,4,15 Write a class called BoxGUI that extends JFrame. The BoxGUI should contain a grid layout with one row and two columns. Display the original array in the left column, and then sort the array (by volume) and display it in the right column. Use Selection Sort as shown in class to sort the array. The display of the Boxes should be done using the toString method of class Box. Submit the following Java class files through Blackboard by midnight of the due date to receive full credit: Project1.java Box.java BoxGUI.java