Code Comprehension: UML Diagrams, Method Comments, And Sorting Algorithm

Questions

Code Comprehension

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

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.

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

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)

Calculate your order
Pages (275 words)
Standard price: $0.00
Client Reviews
4.9
Sitejabber
4.6
Trustpilot
4.8
Our Guarantees
100% Confidentiality
Information about customers is confidential and never disclosed to third parties.
Original Writing
We complete all papers from scratch. You can get a plagiarism report.
Timely Delivery
No missed deadlines – 97% of assignments are completed in time.
Money Back
If you're confident that a writer didn't follow your order details, ask for a refund.

Calculate the price of your order

You will get a personal manager and a discount.
We'll send you the first draft for approval by at
Total price:
$0.00
Power up Your Academic Success with the
Team of Professionals. We’ve Got Your Back.
Power up Your Study Success with Experts We’ve Got Your Back.