A Sample program is provided that creates a list of shapes stored in an array. This program uses classes: Shapes, Square, Rectangle and ShapesList. The main method is in the class: TestingShapesListClass. Conduct a careful examination of this code. Make sure you understand this code as it will help you with your own programming for this assignment. Using the uncommented sample code for classes: Shapes, Square, Rectangle and ShapesList provided, answer the following questions:
1. Draw a UML diagram of each of the Shapes, Rectangle and Square classes using the code that has been provided. Complete this using the examples that have been provide in the lecture slides.
2. Draw a UML diagram of the ShapesList class using the code that has been provided. Complete this using the examples that have been provide in the lecture slides.
3. Add appropriate comments, in your own words, into the file: ShapesList.java to explain all the methods. At a mimimum, explain the purpose of each method. For the more complex methods - reading input from a file, sorting the data and exporting data to the file - insert comments to explain the code.
4. Explain the line of code:
output = new BufferedWriter(new FileWriter(file)) ; in the ExportToFile method in ShapesList.java .
5. Briefly explain the code in mySort() in the ShapesList class. What attribute are the shapes being sorted by?
6. Name the sort algorithm that is being used. Explain in words how it works, using an example. Why do we need to use two for loops?
7. Briefly name and describe one other sorting algorithm that could have been used.
8. Explain the use of the return value in the getArea() method in the Rectangle class. What is it returning? Where does the value come from?
9. Examine the lines to open the output file and write the outputString in the ShapesList class:
File file = new File("export.txt"); System.out.println(file.getAbsolutePath());
output = new BufferedWriter(new FileWriter(file)); output.write(outputString);
Where is the output file located? Find BufferedWriter in the Java API documentation and describe the use of this object.
10. Briefly explain why a try and catch clause has been included in the code to read from the file. Remove this from the code and remove the input file and take note of the error. Re-add the line and investigate what happens if the input file is not present.