Code Comprehension
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.
1. UML Diagram of Shapes, Rectangle and Square
Shapes Class
Shapes
– name: String
– colour: String
– Xcoord: double
– Ycoord: double
~ Shapes() <>
~ Shapes(initName:String, initColour:String, initXcoord:double, initYcoord:double) <>
+ setName(newName:String)
+ setXcoord(newXcoord:double):boolean
+ setYcoord(newYcoord:double):boolean
+ setColour(String newColour)
+ getXcoord():double
+ getYcoord():double
+ getName():String
+ getColour():String
+ getArea():double
Rectangle Class
Rectangle
– side: double
~ Rectangle()
~ Rectangle(initLength:double, initWidth:double, initName:String, initColour:String, xCoord:double, yCoord:double)
+ setLength(_length:double):boolean
+ setWidth(_width:double):boolean
+ getWidth():double
+ getLength():double
+ calcArea():double
+ getArea():double
+ toString():String
Square Class
Square
– side: double
~ Square()
~ Square(initside:double, initName:String, initColour:String, xCoord:double, yCoord:double)
+ setSide(newSide:double)
+ calcArea():double
+ getArea():double
+ toString():String
2. UML diagram of ShapesList class
ShapesList Class
ShapesList
– MAXSIZE: int
– myList[]:Shapes
– currsize:int
~ ShapesList ()
~ ShapesList (_maxsize:int)
+ void addShape(_newShape:Shapes)
+ toString():String
+ bubbleSort()
+ exportToFile(outputString:String)
+ readFromFile()
3. I commented in the ShapeList.java file.
a) addShape() method is used to add shapes in list. It adds the shapes till MAXSIZE which is 10.
b) toString() method is for return the information of class.
c) bubbleSort() method is for sort the shapes based on area of shape. The sorting is based on bubble sort.
d) exportToFile() method is for write the data in text file
e) readFromFile() method is for read the data from text file
4. The ‘file’ object contains the “export.txt” file. The BufferedWriter class writes text to a character-output stream. The object of this class helps to write the data in output file.
5. Attribute used of sorting: Ycoord of shape
Explanation of sorting algorithm by pseudo code:
pseudo code for sort:
for index1 in range(len(sList) -1):
for index2 in range (len(sList) – (index1 + 1)):
if (sList[index2] > sList[index2 + 1]):
swapListPositions (sList, index2, index2 + 1)
6. Sorting Algorithm: Bubble Sort
This algorithm used two loops to compare element with other elements of array for sorting. The inner loop works currsize-1 times. The process of inner loop varies 0 to (size of array – (index of upper loop + 1)).
7. The Selection sort is another algorithm which could be used for sorting.
8. The getArea() method is returning the area of rectangle. The value of rectangle area comes from calcArea() method which is in same class.
9. Absolute path:
C:UsersDocumentsworkspaceshape codeexport.txt
The output file is located in ‘c’ drive.
BufferedWriter class writes text to a character-output stream. The object of this class helps to write the data in output file.
10. The try-catch is used to catch the exception if it occurs while read the data from file.
Error after removing try-catch and file:
Unhandled exception type FileNotFoundException
Error after removing only file:
java.io.FileNotFoundException: ShapesFile.txt (The system cannot find the file specified)
Essay Writing Service Features
Our Experience
No matter how complex your assignment is, we can find the right professional for your specific task. Contact Essay is an essay writing company that hires only the smartest minds to help you with your projects. Our expertise allows us to provide students with high-quality academic writing, editing & proofreading services.Free Features
Free revision policy
$10Free bibliography & reference
$8Free title page
$8Free formatting
$8How Our Essay Writing Service Works
First, you will need to complete an order form. It's not difficult but, in case there is anything you find not to be clear, you may always call us so that we can guide you through it. On the order form, you will need to include some basic information concerning your order: subject, topic, number of pages, etc. We also encourage our clients to upload any relevant information or sources that will help.
Complete the order formOnce we have all the information and instructions that we need, we select the most suitable writer for your assignment. While everything seems to be clear, the writer, who has complete knowledge of the subject, may need clarification from you. It is at that point that you would receive a call or email from us.
Writer’s assignmentAs soon as the writer has finished, it will be delivered both to the website and to your email address so that you will not miss it. If your deadline is close at hand, we will place a call to you to make sure that you receive the paper on time.
Completing the order and download