Java: An Introduction to Problem Solving and Programming (8th Edition)
8th Edition
ISBN: 9780134462035
Author: Walter Savitch
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Question
Chapter 8, Problem 4PP
Program Plan Intro
Displaying right triangle, rectangle, and square along with their areas and perimeters
Program Plan:
Filename: Test.java
- • Define main function.
- ○ Create the objects for “RightTriangle”, “Rectangle”, and “Square” classes and pass the input value to the respective methods.
- ○ Call the “drawHere” method with “RightTriangle” object “rt”.
- ○ Call the “findArea” and “findCircumference” methods with “RightTriangle” object “rt”.
- ○ Call the “drawHere”, and “drawAt” methods with “Rectangle” object “r”.
- ○ Call the “findArea” and “findCircumference” methods with “Rectangle” object “r”.
- ○ Call the “drawHere”, and “drawAt” methods with “Square” object “s”.
- ○ Call the “findArea” and “findCircumference” methods with “Square” object “s”.
- ○ Display the all the outputs.
Filename: RightTriangle.java
- • Define the “RightTriangle.java” class extends from “ShapeBase” class that implements “ShapeInterface”.
- • Declare the required variables.
- • Define the default constructor, and constructor for the class.
- • Define the “set” method.
- ○ Set the value.
- • Define “drawHere” method.
- ○ Call the “drawTop” method.
- • Define the “drawTop” method.
- ○ Declare the variable “startOfLine” and assign the value of offset plus base divided by 2.
- ○ Call the “skipSpaces()” method with “startOfLine” value.
- ○ Display the “*” character.
- ○ Declare the variable “lineCount” and assign the value of base divided by 2 minus 1.
- ○ Declare the “insideWidth” with value 1.
- ○ The “for” condition is used to display the “*” character in triangle shape.
- ■ Decrement the “startOfLine” value.
- ■ Call the “skipSpaces()” method with “startOfLine” value.
- ■ Display the “*” character.
- ■ Call the “skipSpaces()” method with “insideWidth” value.
- ■ Display the “*” character.
- ■ Increment the “insideWidth” value by 1.
- ○ Call the “drawBase” method with an argument.
- • Define “drawBase” method.
- ○ Call the “skipSpaces()” method.
- ○ Display the “*” character in base of the triangle.
- • Define “skipSpaces()” method.
- ○ Display the space.
- • Define the “findArea” method.
- ○ Return the area of right triangle.
- • Define the “findCircumference” method.
- ○ Return perimeter of the right triangle.
Filename: Rectangle.java
- • Define the “Rectangle.java” class extends from “ShapeBase” class that implements “ShapeInterface”.
- • Include all the methods in the Listing 8.13 in chapter 8.
- • Define another constructor with two parameters.
- ○ Set the values.
- • Define the “findArea” method.
- ○ Return the area of rectangle.
- • Define the “findCircumference” method.
- ○ Return perimeter of the rectangle.
Filename: Square.java
- • Define the “Sqaure.java” class which extends from the “Rectangle” class that implements “ShapeInterface”.
- • Declare the required variables.
- • Define the constructor for the class.
- • Define the accessor and mutator methods.
- • Define the “findArea” method.
- ○ Return the area of square.
- • Define the “findCircumference” method.
- ○ Return perimeter of the square.
Filename: ShapeInterface.java
Define the interface “SpaceInterface”.
- • Declare the “setOffset()” method.
- • Declare the “getOffset()” method.
- • Declare the “drawAt()” method.
- • Declare the “drawHere()” method.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
Create a Right Triangle class that has two sides. Name your class rightTraingle. Code getter
and setters for the base and the height. (Remember class variables are private.) The class
should include a two-argument constructor that allows the program to set the base and
height. The constructor should verify that all the dimensions are greater than 0. before
assigning the values to the private data members. If a side is not greater than zero, set the
value to -1. The class also should include two value-returning methods. One value-returning
method should calculate the area of a triangle, and the other should calculate the perimeter
of a triangle. If either side is -1, these functions return a -1. The formula for calculating the
area of a triangle is 1/2 * b*h, where b is the base and h is the height. The formula for
calculating the perimeter of a triangle is b+h+sqrt (b*b+h*h). Be sure to include a default
constructor that initializes the variables of the base, height to -1. To test…
Create a Book class with attributes such as book title, author, and price. Implement a
parameterized constructor to initialize these attributes.
Now, extend the functionality of the Bookstore class by adding a new method called
'addBook.' This method should allow the addition of custom books to the bookstore's
inventory. The method should take three parameters: title, author, and price.
Implement this method to ensure that the bookstore's inventory is updated
accordingly.
Instantiate a new object of the bookstore, naming it 'ReadersHaven, utilizing the
extended class with the newly added 'addBook' method. Your next step is to add three
distinct custom books to 'ReadersHaven-for example, 'The Silent Observer® by Jane
Doe, priced at $20.99, Adventures in Wonderland" by Lewis Carroll, priced at $15.50,
and 'Programming Mastery by John Coder, priced at $30.75.
To conclude, utilize a 'displayinventory' method to showcase the updated information
about 'ReadersHaven." Verify that the output…
Use the parent classes to the left to help you solve this problem. The first parent is the Person class with some very generic information. The second class, CardHolder, is the class for a credit card holder. Create the child class PlantinumClient. This class inherits all of the attributes of both parent classes. In addition, the child class has the attributes cash_back and rewards. cash_back should be set to 0.02 and rewards should be set to 0. Override the process_sale method so that 2% of each sale is added to rewards. Expected Output Declare an instance of the PlatinumClient class as shown below.
platinum = PlatinumClient("Sarah", "101 Main Street", 123364)
Your class should be able to execute the code below in the stated order and produce the given return values.
Order
Code
Return Value
1
platinum.process_sale(100)
N/A
2
print(platinum.rewards)
2
3
print(platinum.balance)
100
4
platinum.make_payment(50)
N/A
5
print(platinum.balance)…
Chapter 8 Solutions
Java: An Introduction to Problem Solving and Programming (8th Edition)
Ch. 8.1 - Prob. 1STQCh. 8.1 - Suppose the class SportsCar is a derived class of...Ch. 8.1 - Suppose the class SportsCar is a derived class of...Ch. 8.1 - Can a derived class directly access by name a...Ch. 8.1 - Can a derived class directly invoke a private...Ch. 8.1 - Prob. 6STQCh. 8.1 - Suppose s is an object of the class Student. Base...Ch. 8.2 - Give a complete definition of a class called...Ch. 8.2 - Add a constructor to the class Student that sets...Ch. 8.2 - Rewrite the definition of the method writeoutput...
Ch. 8.2 - Rewrite the definition of the method reset for the...Ch. 8.2 - Can an object be referenced by variables of...Ch. 8.2 - What is the type or types of the variable(s) that...Ch. 8.2 - Prob. 14STQCh. 8.2 - Prob. 15STQCh. 8.2 - Consider the code below, which was discussed in...Ch. 8.2 - Prob. 17STQCh. 8.3 - Prob. 18STQCh. 8.3 - Prob. 19STQCh. 8.3 - Is overloading a method name an example of...Ch. 8.3 - In the following code, will the two invocations of...Ch. 8.3 - In the following code, which definition of...Ch. 8.4 - Prob. 23STQCh. 8.4 - Prob. 24STQCh. 8.4 - Prob. 25STQCh. 8.4 - Prob. 26STQCh. 8.4 - Prob. 27STQCh. 8.4 - Prob. 28STQCh. 8.4 - Are the two definitions of the constructors given...Ch. 8.4 - The private method skipSpaces appears in the...Ch. 8.4 - Describe the implementation of the method drawHere...Ch. 8.4 - Is the following valid if ShapeBaSe is defined as...Ch. 8.4 - Prob. 33STQCh. 8.5 - Prob. 34STQCh. 8.5 - What is an advantage of having the main...Ch. 8.5 - What Java construct allows us to define and...Ch. 8 - Consider a program that will keep track of the...Ch. 8 - Implement your base class for the hierarchy from...Ch. 8 - Draw a hierarchy for the components you might find...Ch. 8 - Suppose we want to implement a drawing program...Ch. 8 - Create a class Square derived from DrawableShape,...Ch. 8 - Create a class SchoolKid that is the base class...Ch. 8 - Derive a class ExaggeratingKid from SchoolKid, as...Ch. 8 - Create an abstract class PayCalculator that has an...Ch. 8 - Derive a class RegularPay from PayCalculator, as...Ch. 8 - Create an abstract class DiscountPolicy. It should...Ch. 8 - Derive a class BulkDiscount from DiscountPolicy,...Ch. 8 - Derive a class BuyNItemsGetOneFree from...Ch. 8 - Prob. 13ECh. 8 - Prob. 14ECh. 8 - Create an interface MessageEncoder that has a...Ch. 8 - Create a class SubstitutionCipher that implements...Ch. 8 - Create a class ShuffleCipher that implements the...Ch. 8 - Define a class named Employee whose objects are...Ch. 8 - Define a class named Doctor whose objects are...Ch. 8 - Create a base class called Vehicle that has the...Ch. 8 - Create a new class called Dog that is derived from...Ch. 8 - Define a class called Diamond that is derived from...Ch. 8 - Prob. 2PPCh. 8 - Prob. 3PPCh. 8 - Prob. 4PPCh. 8 - Create an interface MessageDecoder that has a...Ch. 8 - For this Programming Project, start with...Ch. 8 - Modify the Student class in Listing 8.2 so that it...Ch. 8 - Create a JavaFX application that uses a TextField...Ch. 8 - Prob. 10PP
Knowledge Booster
Similar questions
- Deeper Class Design - the Square Class In this section, your job will be to write a new class that will adhere to the methods and data outlined in the “members” section below (said another way, your classes will implement a specific set of functions (called an interface) that we’ll describe contractually, ahead of time). These classes will all be shapes, with actions (methods) that are appropriate to shape objects, such as “getArea()”, or “draw()”. First we build a Square class that contains the following data and methods listed below, and then later, we will copy it to quickly make a Circle class. Note: when considering each data item below, think about what type of data would best represent the concept we’re trying to model in our software. For example, all shapes will have a coordinate pair indicating their location in a Cartesian coordinate system. This x and y pair may be modeled as ints or floats, and you might choose between the two depending on what the client application will…arrow_forwardProgram thisarrow_forwardCreate a new class called Dog that is derived from the Pet class given in Listing 6.1 of Chapter 6. The new class has the additional attributes of breed (type String) and boosterShot (type boolean), which is true if the pet has had its booster shot and false if not. Give your classes a reasonable complement of constructors and accessor methods. Write a driver program to test all your methods, then write a program that reads in five pets of type Dog and displays the name and breed of all dogs that are over two years old and have not had their booster shots.arrow_forward
- The owner of a venue for events needs software to keep track of reservations. The venue can handle two events in a day, one scheduled for the afternoon and another scheduled for the evening. Each event consists of the type (wedding, bar mitzvah, etc.), the date of the event, and whether or not the event will be held in the evening. A programmer writes the code given on the handout. import java.util.LinkedList; class Event { // wedding, etc. String type; Date date; boolean isEvening; // true if the event is to be held in the evening public Event(string type, Date date, boolean isEvening) { this.type - type; this.date = date; this.isEvening = isEvening; } class Date { string month; int day; int year; public Date(string month, int day, int year) { this.month = month; this.day = day; this.year = year; class Reservations { LinkedList events; public Reservations() { this.events = new LinkedList(); // adds the given event to the events list, as long as there is no // date/time conflict with…arrow_forwardWrite the missing code in the dark picture. This is not gradedarrow_forwardTake the tax program from the last homework assignment and implement it using classes and objects instead. To do so, create a class definition for a class called Customer with attributes income and tax. It should also have a set method for income, and a calcTax() method to assign tax and return it. As a reminder, the tax is calculated as follows: Income Tax Due $0 - $50,000 5% $50,000-$100,000 $2,500 + 10% of (income > $50,000) > $100,000 $7,500 + 15% of (income > $100,000) Create a Customer object in main, have the user enter the income and assign this to the income variable of the Customer object, and then call the calcTax() method for the Customer object and print the tax due.arrow_forward
- Don't copy from other sources. Same question I posted there. I don't need wrong code.arrow_forwardDon't give me AI generated answer or plagiarised answer. If I see these things I'll give you multiple downvotes and will report immediately.arrow_forwardAnswer the following and code in Java Thank youarrow_forward
- Create a class, Ring, that is a subclass of Circle. Additional property is the inner radius of ring, ri Constructor function: 1. Ring will require two input arguments: the first input argument is the out radius, r, and second input argument is the inner radius, ri. Not that the out radius is defined in the properties of the Circle superclass. 2. If less than two input arguments are provided, set the outer radius to 1 and the inner radius to 1. Provide a statement that says "Dimensions are Missing." 3. If the out radius is less than the inner radius, set the outer radius to 1 and the outer radius to 1. Provide a statement that says "Dimensions are Incorrect." Methods: Create ringArea that will calculate the area of the ring.arrow_forwardCreate a PhoneListing class that uses the Name class for one of its instance variables. Remember the instance data in the Name class is private to the class and must be accessed through its methods.Add additional instance variables to the PhoneListing class for the phone number. The phone number should be broken down into three parts, area code, city code, and local code.Create all appropriate methods for the new class, including the following three methods: equals(PhoneListing):boolean, an equality of state method that returns true if the objects contain the same name and phone number. compareTo(PhoneListing):int, a comparison method that returns -1 if the calling PhoneListing object should precede the argument PhoneListing object, 1 if the calling PhoneListing object should come after the argument PhoneListing object, and a 0 if they are equal. Use last, first, middle, phone number as the ordering values. example:Adams, Alex, Henry, (609)473-2101 Adams, George, Henry, (509)373-1101…arrow_forwardadd a class to package that represents your new drivable type. That type should be something that is capable of being driven (speeding up and slowing down) and therefore a perfect candidate for a class that implements the actions in the Drivable interface.arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education