Project #76213 - Polygon (Java)

Homework 2b

Before attempting this project, be sure you have completed all of the reading assignments, hands-on labs, discussions, and assignments to date.

(25 points) Design a Java class named Polygon that contains:

  • ï‚·  A private int data field named numSides that defines the number of sides of the polygon. The default value should be 4.

  • ï‚·  A private double data field named sideLength that defines the length of each side. The default value should be 10.0.

  • ï‚·  A private double data field named xCoord that defines the x-coordinate of the center of the polygon. The default value should be 0.0.

  • ï‚·  A private double data field named yCoord that defines the y-coordinate of the center of the polygon. The default value should be 0.0.

  • ï‚·  A private double data field named apothem that defines the apothem of the polygon. The default value should 5.0.

  • ï‚·  A private double data filed named perimeter that defines the perimeter of the polygon. The default value should 20.0.

  • ï‚·  A no argument constructor that creates a Polygon using the default number of sides, default side length, default x- and y-coordinates, and the default apothem.

  • ï‚·  A constructor that creates a Polygon using a specified number of sides, side length, x- and y-coordinates and the apothem

  • ï‚·  A getArea() method that returns a double value representing the area of the polygon. (Note the area of a regular Polgon can be calculated from 1⁄2 * Apothem*Perimeter)

  • ï‚·  Getter and setter methods for all data fields

  • ï‚·  A toString() method that displays the number of sides, side length, x-coordinate, y-

    coordinate and apothem values in String format Be sure your code compiles.

    Next, write a Java test program, named TestPolygon, to create five different polygons. When creating the five polygons, create one using the no argument constructor. For the remaining four, feel free to use any number of sides, side length and x-, and y-coordinates and apothem that are not equal to the default values and not equal to each other. For each of the five polygons, call all of the methods and display the results. For example for a Polygon with 3 sides, side length of 2.0 and x- coordinate and y-coordinates of 1.0, and apothem of 1.0 the following output may result:

    toString() results: (numsides=3, sideLength=2.0, xcoord=1.0,ycoord=1.0, apothem=1.0) getNumSides() results: 3
    getSideLength() results: 2.0

                getXCoord() results: 0.0
                getYCoord() results: 0.0
                getApothem() results:1.0
    
            getPerimeter() results: 6.0
            getArea() results: 3.0
            setNumSides(4) results: 4
            setSideLength(3) results: 3.0
            setXCoord(2.0) results: 2.0
            setYCoord(2.0) results: 2.0
            setApothem(2.0) results:2.0

Keep in mind, for five Polygons, you will have five different output results. Also, note there is no requirement to actually draw a Polygon.

Grading Rubric:

The following grading rubric will be used to determine your grade:

Attribute

Exceeds

page2image8392

Meets

page2image9640

Does not meet

Design (5 points)

(5 points)

Exhibits proper use of parameters, and selection of data types all of the time.

Employs correct and appropriate use of programming structures (loops, conditionals, classes etc.) all of the time.

Efficient algorithms used all of the time.

(3-4 points)

Exhibits proper use of parameters, and selection of data types most of the time.

Employs correct and appropriate use of programming structures (loops, conditionals, classes etc.) most of the time.

Efficient algorithms used most of the time.

(0-2 points)

Rarely exhibits proper use of parameters, and selection of data types.

Rarely employs correct and appropriate use of programming structures (loops, conditionals, classes etc.)

Poorly structured and inefficient algorithms.

Functionality (10 points)

(9-10 points)

Extra effort was apparent through the addition of significant and additional functionality beyond the scope of the assignment.

page2image28712

(7-8 points)

Program fulfills most functionality.

Most requirements were fulfilled.

Screen captures provided demonstrating the successful compiling and running of the program.

(0-6 points)

Program does not fulfill functionality.

Few requirements were fulfilled.

Test cases (5 points)

(5 points)

Test cases provide comprehensive coverage of all code paths.

Discussion of run-time errors included.

(3-4 points)

Test cases provide coverage of most code paths.

Test cases results well documented providing pass/fail results for each test case.

(0-2 points)

No or insufficient test cases

Minimal supporting evidence provided to verify testing actually took place.

Java Style Guide (5 points)

(5 points)

Code impeccably neat and well-organized.

Extensive In-line comments providing additional insight into code design and functionality

(3-4 points)

Header comments include filename, author, date and brief purpose of the program.

In-line comments used to describe major functionality of the code.

Meaningful variable names and prompts applied.

Class names are written in UpperCamelCase.

Variable names are written in lowerCamelCase.

Constant names are in written in All Capitals.

Braces use K&R style.

page3image22512

(0-2 points)

Code rarely follows recommended Java style guide

Submission requirements:

Your deliverables include all Java files (.java) and a single word (or PDF) document. The Java files should be named appropriately for your applications. Your word document should include screen shots showing the successful compiling and running of each application, and a detailed description of the test plan for each application. The test plan should include the input, expected output, actual output and if

 

the test case passed or failed. Submit your files to the Homework 2b assignment area no later than the due date listed in the calendar. 

Subject Computer
Due By (Pacific Time) 07/12/2015 12:00 pm
Report DMCA
TutorRating
pallavi

Chat Now!

out of 1971 reviews
More..
amosmm

Chat Now!

out of 766 reviews
More..
PhyzKyd

Chat Now!

out of 1164 reviews
More..
rajdeep77

Chat Now!

out of 721 reviews
More..
sctys

Chat Now!

out of 1600 reviews
More..
sharadgreen

Chat Now!

out of 770 reviews
More..
topnotcher

Chat Now!

out of 766 reviews
More..
XXXIAO

Chat Now!

out of 680 reviews
More..
All Rights Reserved. Copyright by AceMyHW.com - Copyright Policy