This program must be coded in JAVA!!! Design a class named Triangle that extends
ID: 3722158 • Letter: T
Question
This program must be coded in JAVA!!!
Design a class named Triangle that extends provided GeometricObject. The class contains:
Three double data fields named side1, side2, and side3 with default values 1.0 to denote three sides of the triangle.
A no-arg constructor that creates a default triangle.
A constructor that creates a triangle with the specified side1, side2, and side3.
Note : first determine whether three lengths form a triangle. If not, just use default values for all the sides.
The accessor(getters and setters) methods for all three data fields.
A method named getArea() that returns the area of this triangle.
A method named getPerimeter() that returns the perimeter of this triangle.
A method named toString() that returns a string description for the triangle.
The toString() method is implemented as follows:
return "Triangle: side1 = " + side1 + " side2 = " + side2 + " side3 = " + side3 + super.toString();
The test program, prompts the user to enter three sides of the triangle, a color, and a Boolean value to indicate whether the triangle is filled. The program should create a Triangle object with these sides and set the color and filled properties using the input. The program should display the area, perimeter, color, and true or false to indicate whether it is filled or not.
Input1
2
2
2
red
true
output1
1.73
6.00
Triangle: side1 = 2.0 side2 = 2.0 side3 = 2.0 color: red and filled: true
Input2
22
3
5
green
false
output2
0.43
3.00
Triangle: side1 = 1.0 side2 = 1.0 side3 = 1.0 color: green and filled: false
The is the given code of Geometric Object class:
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;
}
public double getArea(){
return 0;
}
public double getPerimeter() {
return 0;
}
/** Return a string representation of this object */
public String toString() {
return " color: " + color + " and filled: " + filled;
}
}
Here is where you put your code:
class Triangle extends Geometric Object{
The code must pass all test cases!
Explanation / Answer
import java.util.*;
import java.lang.*;
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;
}
public double getArea(){
return 0;
}
public double getPerimeter() {
return 0;
}
/** Return a string representation of this object */
public String toString() {
return " color: " + color + " and filled: " + filled;
}
}
class Triangle extends GeometricObject
{
private double side1,side2,side3;
public Triangle()
{
side1 = 1.0;
side2 = 1.0;
side3 = 1.0;
}
public Triangle(double side1,double side2,double side3,String color,boolean filled)
{
super(color,filled);
if ((side1 >= side2 + side3) || (side2 >= side1 + side3)||(side3 >= side2 + side1))
{
this.side1 = 1.0;
this.side2 = 1.0;
this.side3 = 1.0;
}
else
{
this.side1 = side1;
this.side2 = side2;
this.side3 = side3;
}
}
//The accessor(getters and setters) methods for all three data fields.
public void setSide1(double side1)
{
this.side1 = side1;
}
public double getSide1()
{
return side1;
}
public void setSide2(double side1)
{
this.side2 = side2;
}
public double getSide2()
{
return side2;
}
public void setSide3(double side3)
{
this.side3 = side3;
}
public double getSide3()
{
return side3;
}
//A method named getArea() that returns the area of this triangle.
public double getArea()
{
double s = (side1 +side2+side3)/2;
double area = Math.sqrt(s*(s-side1)*(s-side2)*(s-side3));
return area;
}
//A method named getPerimeter() that returns the perimeter of this triangle.
public double getPerimeter()
{
return(side1+side2+side3);
}
//A method named toString() that returns a string description for the triangle.
public String toString()
{
return "Triangle: side1 = " + side1 + " side2 = " + side2 + " side3 = " + side3 + super.toString();
}
}
class Test
{
public static void main (String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("Enter the three sides of the triangle : ");
double side1 = input.nextDouble();
double side2 = input.nextDouble();
double side3 = input.nextDouble();
System.out.println(" Enter the color of the triangle : ");
String color = input.next();
System.out.println(" Enter the boolean value to indicate whether the triangle is filled or not : ");
boolean filled = input.nextBoolean();
Triangle t = new Triangle(side1,side2,side3,color,filled);
System.out.printf(" Area of triangle : %.2f",t.getArea());
System.out.printf(" Perimeter of triangle : %.2f ",t.getPerimeter());
System.out.println(t);
}
}
Output:
Enter the three sides of the triangle :2 2 2
Enter the color of the triangle :red
Enter the boolean value to indicate whether the triangle is filled or not :true
Area of triangle : 1.73
Perimeter of triangle : 6.00
Triangle: side1 = 2.0 side2 = 2.0 side3 = 2.0 color: red and filled: true
Enter the three sides of the triangle :22 3 5
Enter the color of the triangle :green
Enter the boolean value to indicate whether the triangle is filled or not :false
Area of triangle : 0.43
Perimeter of triangle : 3.00
Triangle: side1 = 1.0 side2 = 1.0 side3 = 1.0 color: green and filled: false
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.