Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Name:Nate Wheeler
- * Date:10-23-2016
- * Course Number:csc220
- * Course Name:data structures
- * Problem Number:hw 5
- * Email: nate23nate23@gmail.com
- * Short Description of the Problem:
- * Design and implement a class named Triangle that extends Shape.
- */
- package shapes;
- public class Triangle extends Shape {
- private double side1;
- private double side2;
- private double side3;
- public Triangle() {
- super("white", false);
- this.side1 = 1.0;
- this.side2 = 1.0;
- this.side3 = 1.0;
- }
- public Triangle(double s1, double s2, double s3) throws NonTriException {
- super("white", false);
- if (sideCheck(s1, s2, s3) == false)
- throw new NonTriException("This is not a Triangle.");
- this.side1 = s1;
- this.side2 = s2;
- this.side3 = s3;
- this.getDateCreated();
- }
- public Triangle(double s1, double s2, double s3, String color, boolean filled) throws NonTriException {
- super(color, filled);
- if (sideCheck(s1, s2, s3) == false)
- throw new NonTriException("This is not a Triangle.");
- this.side1 = s1;
- this.side2 = s2;
- this.side3 = s3;
- }
- public double getSide1() {
- return this.side1;
- }
- public double getSide2() {
- return this.side2;
- }
- public double getSide3() {
- return this.side3;
- }
- public void setSide1(double s1) {
- this.side1 = s1;
- }
- public void setSide2(double s2) {
- this.side2 = s2;
- }
- public void setSide3(double s3) {
- this.side3 = s3;
- }
- public double getArea() {
- //check to see if sides make a triangle, proof against incorrect setters
- if (sideCheck(this.side1, this.side2, this.side3) == true){
- double s = (this.side1 + this.side2 + this.side3) / 2;
- return Math.sqrt(s * (s - this.side1) * (s - this.side2) * (s - this.side3));
- }
- return -1;
- }
- public double getPerimeter() {
- //will return -1 if triangle check is false
- if (sideCheck(this.side1, this.side2, this.side3) == true){
- return this.side1 + this.side2 + this.side3;
- }
- return -1;
- }
- public String toString() {
- return "Triangle: side1 = " + this.side1 + ", side2 = " + this.side2 + ", side3 = " + this.side3;
- }
- public boolean sideCheck(double s1, double s2, double s3) {
- return ((s1 + s2) > s3 && (s3 + s2) > s1 && (s1 + s3) > s2);
- }
- // exception for when sides dont make triangle
- class NonTriException extends RuntimeException {
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- public NonTriException() {
- }
- public NonTriException(String message) {
- super(message);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement