The Triangle Class
The code has been modified slightly and now uploaded to the site.

Main.java
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("Enter lengths of three sides, color, and whether or not it is filled (true for filled/false for not): ");
double side1 = input.nextDouble();
double side2 = input.nextDouble();
double side3 = input.nextDouble();
String color = input.next();
boolean isFilled = input.nextBoolean();
Triangle triangle = new Triangle(side1, side2, side3, color, isFilled);
System.out.println(triangle);
}
}
Triangle.java
public class Triangle extends GeometricObject{
private double side1;
private double side2;
private double side3;
private double area;
private double perimeter;
private double theSide;
public Triangle(){
super("white", false);
side1 = 1.0;
side2 = 1.0;
side3 = 1.0;
getArea();
getPerimeter();
}
public Triangle(double side1, double side2, double side3, String color, boolean filled){
super(color, filled);
this.side1 = side1;
this.side2 = side2;
this.side3 = side3;
getArea();
getPerimeter();
}
public double getArea(){
theSide = (side1 + side2 + side3) / 2;
area = Math.sqrt(theSide * (theSide - side1) + (theSide - side2) + (theSide - side3));
return area;
}
public double getPerimeter(){
perimeter = side1 + side2 + side3;
return perimeter;
}
@Override
public String toString(){
return super.toString() + "\nTriangle: side1 = " + side1 + " side2 = " + side2 + " side3 = " + side3 + "\nArea: " + area + " Perimeter: " + perimeter;
}
}
GeometricObject.java
public class GeometricObject {
private String color = "white";
private boolean filled;
private java.util.Date dateCreated;
/** Construct a default geometric object */
public GeometricObject(){
dateCreated = new java.util.Date();
}
/** Construct a geometric object with the specified color
* and filled value */
public GeometricObject(String color, boolean filled){
dateCreated = new java.util.Date();
this.color = color;
this.filled = filled;
}
/** Return color */
public String getColor(){
return color;
}
/** Set a new color */
public void setColor(String color){
this.color = color;
}
/** Return filled. Since filled is boolean, its getter method is named isFilled */
public boolean isFilled(){
return filled;
}
/** Set a new filled */
public void setFilled(boolean filled){
this.filled = filled;
}
/** Get dateCreated */
public java.util.Date getDateCreated(){
return dateCreated;
}
/** Return a string representation of this object */
public String toString(){
return "created on " + dateCreated + "\ncolor: " + color + " and filled: " + filled;
}
}