Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Represents a polygon with a specified number of sides
- * lengths. The polygon is classified based on its number of sides.
- *
- * @author The Grifter
- */
- public class Polygon {
- private double[] sideLengths;
- public Polygon(double[] sidesIn) {
- setSides(sidesIn);
- }
- public void setSides(double[] sidesIn) {
- sideLengths = sidesIn != null ? sidesIn : sideLengths;
- }
- public double[] getSides() {
- return sideLengths;
- }
- public String toString() {
- switch (sideLengths.length) {
- case 0:
- case 1:
- case 2:
- return "non-polygon";
- case 3:
- return "triangle";
- case 4:
- return "rectangle";
- case 5:
- return "pentagon";
- case 6:
- return "hexagon";
- case 7:
- return "heptagon";
- case 8:
- return "octagon";
- default:
- return "n-gon";
- }
- }
- public double calculatePerimeter() {
- int sum = 0;
- for(int i = 0; i < sideLengths.length; i++) {
- sum += sideLengths[i];
- }
- return sum;
- }
- public double[] getSidesGreaterThan(double userInput)
- {
- int greater = 0;
- for(int i = 0; i < sideLengths.length; i++)
- {
- if (sideLengths[i] > userInput)
- {
- greater++;
- }
- }
- double[] sidesGreaterThan = new double[greater];
- int count = 0;
- for(int i = 0; i < sideLengths.length; i++)
- {
- if (sideLengths[i] > userInput)
- {
- sidesGreaterThan[count] = sideLengths[i];
- count++;
- }
- }
- return sidesGreaterThan;
- }
- }
Add Comment
Please, Sign In to add comment