Introduction to Java Programming and Data Structures: Brief Version (11th Global Edition)
Introduction to Java Programming and Data Structures: Brief Version (11th Global Edition)
11th Edition
ISBN: 9780134671710
Author: Y. Daniel Liang
Publisher: PEARSON
bartleby

Videos

Question
Book Icon
Chapter 13, Problem 13.1PE
Expert Solution & Answer
Check Mark
Program Plan Intro

Program to create Triangle class

Program Plan:

  • Include a class name named “Exercise_13_01”.
    • Include the scanner package.
    • Declare the main() function.
    • Create a scanner object.
    • Prompt the user to enter three sides of the triangle.
    • Prompt the user to enter a color.
    • Prompt the user to enter a Boolean value on whether the triangle is filled.
    • Create triangle object with the entered user input.
    • Set color and set filled in the triangle.
    • Print the output.
    • Close the main() function.
    • Close the class “Exercise_13_01”.
  • Include an abstract class “GeometricObject”.
    • Declare all the data types of the variables.
    • Construct a default geometric object.
    • Construct a geometric object with color and filled value.
    • Assign color and fill to the object.
    • Set a new color.
    • Define an isFilled method returns filled and since filled is Boolean; the get method is named isFilled.
    • Set a new filled and getDateCreated method.
    • Override toString function to return output.
    • Define Abstract method getArea.
    • Define Abstract method getPerimeter.
    • Close class.
  • Include a class “Triangle” that extends the class GeometricObject.
    • Declare the three sides of the triangle.
    • Include a triangle constructor.
    • Assign values to all three sides of the triangle.
    • Assign triangle values to all attributes.
    • Return side1 and Set side1 to a new length.
    • Return side2 and Set side2 to a new length.
    • Return side3 and Set side3 to a new length.
    • Create a Function to return area of the Triangle.
    • Create a function to return a string description of the object.
    • Close class.
Program Description Answer

The java code to design a new Triangle class that extends the abstract GeometricObject class and to design a test program   that prompts the user to enter three sides of the triangle, a color, and a Boolean value to indicate whether the triangle is filled or not.

Explanation of Solution

Program:

File name: Exercise_13_01.java

//package to have user input

import java.util.Scanner;

//class Definition

public class Exercise_13_01

{

// Main method

public static void main(String[] args)

{

// Create a Scanner object

Scanner input = new Scanner(System.in);

/* Prompt the user to enter three sides of the triangle */

System.out.print("Enter three side of the triangle: ");

double side1 = input.nextDouble();

double side2 = input.nextDouble();

double side3 = input.nextDouble();

// Prompt the user to enter a color

System.out.print("Enter a color: ");

String color = input.next();

/*Prompt the user to enter a boolean value on whether the triangle is filled*/

System.out.print("Is the triangle filled (true / false)? ");

boolean filled = input.nextBoolean();

/* Create triangle object with the entered user input */

Triangle triangle = new Triangle(side1, side2, side3);

// set color

triangle.setColor(color);

// set filled

triangle.setFilled(filled);

// print the output

System.out.println(triangle.toString());

System.out.println("Area: " + triangle.getArea());

System.out.println("Perimeter: " + triangle.getPerimeter());

System.out.println("Color: " + triangle.getColor());

System.out.println("Triangle is" + (triangle.isFilled() ? "" : " not ")

+ "filled");

}

}

Filename: GeometricObject.java

//abstract class GeometricObject definition

public abstract class GeometricObject

{

//data type declaration

private String color = "while";

private boolean filled;

private java.util.Date dateCreated;

// Construct a default geometric object

protected GeometricObject()

{

dateCreated = new java.util.Date();

}

/* Construct a geometric object with color and filled value */

protected GeometricObject(String color, boolean filled)

{

dateCreated = new java.util.Date();

//assign color and fill

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;

}

/* isFilled method returns filled and Since filled is boolean,the get 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;

}

//override toString function to return output

@Override

public String toString()

{

return "created on " + dateCreated + "\ncolor: " + color +

" and filled: " + filled;

}

// define Abstract method getArea

public abstract double getArea();

//Define Abstract method getPerimeter

public abstract double getPerimeter();

}

Filename: Triangle.Java

/*Class definition of Triangle that extends the class GeometricObject */

public class Triangle extends GeometricObject

{

//declare the three sides of the triangle

private double side1;

private double side2;

private double side3;

//triangle constructor

public Triangle()

{

}

//assign values to all three sides of the triangle

public Triangle(double side1, double side2, double side3)

{

this.side1 = side1;

this.side2 = side2;

this.side3 = side3;

}

//assign triangle values to all attributes

public Triangle(double side1, double side2, double side3, String color, boolean filled)

{

this(side1, side2, side3);

setColor(color);

setFilled(filled);

}

// Return side1

public double getSide1()

{

return side1;

}

// Set side1 to a new length

public void setSide1(double side1)

{

this.side1 = side1;

}

// Return side2

public double getSide2()

{

return side2;

}

// Set side2 to a new length

public void setSide2(double side2)

{

this.side2 = side2;

}

// Return side3

public double getSide3()

{

return side3;

}

// Set side3 to a new length

public void setSide3(double side3)

{

this.side3 = side3;

}

// Function to Return area of the Triangle

@Override

public double getArea()

{

double s = (side1 + side2 + side3) / 2;

return Math.sqrt(s * (s - side1) * (s - side2) * (s - side3));

}

/* override function to Return perimeter of the triangle */

@Override

public double getPerimeter()

{

return side1 + side2 + side3;

}

/*override function to Return a string description of the object*/

@Override

public String toString()

{

return super.toString() + "\nArea: " + getArea() + "\nPerimeter: " + getPerimeter();

}

}

UML Diagram:

Introduction to Java Programming and Data Structures: Brief Version (11th Global Edition), Chapter 13, Problem 13.1PE

Explanation:

  • Here, GeometricObject is an abstract class that extends the triangle class which is represented using an arrow. The triangle class then contains a rectangle that represents the objects used to input the three sides of the triangle.
  • The remaining part is used to represent all the methods and functions used in the triangle class.
  • The Triangle() method creates a triangle with default sides.  The method Triangle(side1:double, side2; double,side3;double) creates a triangle of the specified sides.
  • Then the respective sides of the triangles are returned using getSide() methods.
  • Then the method getArea() returns the area of the triangle and the method getPerimeter() returns the perimeter of the triangle and the function toString() returns a string description of the object.
Sample Output

Enter three side of the triangle: 3

4

5

Enter a color: red

Is the triangle filled (true / false)? false

created on Sun Jul 08 13:24:03 IST 2018

color: red and filled: false

Area: 6.0

Perimeter: 12.0

Area: 6.0

Perimeter: 12.0

Color: red

Triangle is not filled

Want to see more full solutions like this?

Subscribe now to access step-by-step solutions to millions of textbook problems written by subject matter experts!
Students have asked these similar questions
Create an original network topology consisting of at least seven routers and twelve links, assigning arbitrary positive weights to each link. Using this topology, apply Dijkstra's Link-State Algorithm to compute the shortest paths from a source router of your choice to all other routers in the network. Your topology must be entirely your own design and should not resemble any examples from the textbook, lecture slides, or other students' work. Al-generated topologies are not permitted. Create a PowerPoint presentation that follows the format and style of slides 11 to 23 from Lecture Slide Set 06 (LS06). You should copy those slides and make any necessary changes, additions, or deletions to reflect your own topology, shortest-path calculations, and update tables. Do not alter the original slide style, layout, or formatting.
Create an original network topology consisting of at least seven routers and twelve links, assigning arbitrary positive weights to each link. Using this topology, apply Dijkstra's Link-State Algorithm to compute the shortest paths from a source router of your choice to all other routers in the network. Your topology must be entirely your own design and should not resemble any examples from the textbook, lecture slides, or other students' work. Al-generated topologies are not permitted. Create
x3003 x3008 1110 0000 0000 1100 1110 0010 0001 0000 0101 0100 1010 0000 x3004 0010 0100 0001 0011 x3005 0110 0110 0000 0000 X3006 0110 1000 0100 0000 x3007 0001 0110 1100 0100 0111 0110 0000 What does the following LC-3 program do? Trace Step by Step, SHOW ALL YOUR WORK. x3001 x3002 0000 x3009 0001 0000 0010 0001 X300A 0001 0010 0110 0001 x300B 0001 0100 1011 1111 x300C 0000 0011 1111 1000 X300D 1111 0000 0010 0101 x300E 0000 0000 0000 0101 x300F 0000 0000 0000 0100 x3010 0000 0000 0000 0011 x3011 0000 0000 0000 0110 x3012 0000 0000 0000 0010 x3013 x3014 0000 0000 0000 0000 0000 0100 0000 0111 x3015 0000 0000 0000 0110 x3016 0000 0000 0000 1000 x3017 0000 0000 0000 0111 x3018 0000 0000 0000 0101

Chapter 13 Solutions

Introduction to Java Programming and Data Structures: Brief Version (11th Global Edition)

Additional Engineering Textbook Solutions

Find more solutions based on key concepts
Preliminary azimuths for each course.

Elementary Surveying: An Introduction To Geomatics (15th Edition)

(a) Example for Ternary relationship

Modern Database Management

BankAccount and SavingsAccount Classes Program Plan: Main.java Include the required “import” statement. Define ...

Starting Out with Java: From Control Structures through Objects (7th Edition) (What's New in Computer Science)

Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
Microsoft Visual C#
Computer Science
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Cengage Learning,
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
Text book image
Programming with Microsoft Visual Basic 2017
Computer Science
ISBN:9781337102124
Author:Diane Zak
Publisher:Cengage Learning
Call By Value & Call By Reference in C; Author: Neso Academy;https://www.youtube.com/watch?v=HEiPxjVR8CU;License: Standard YouTube License, CC-BY