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 class Mammal and another class WingedAnimal. Make a class Bat that is derived from both the classes as bat is a mammal as well as a winged animal.Make constructor of each class and test your classes by making an object of Bat in main function.
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_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_forwardDevelop the ‘Shape’ application such that: ‘Rectangle’, ‘Ellipse’, and ‘Triangle’ classes inherit from the ‘Shape’ class. Develop the ‘Square’ and ‘Circle’ class where ‘Square’ inherits from ‘Rectangle’ and‘Circle’ inherits from ‘Ellipse’. ‘Triangle’ has no derived class. For each class, implement the overridden methods ‘draw’, ‘move’, and ‘erase’. Eachmethod should only have an output statement such as “Rectangle – draw method”that will be displayed when the method is invoked. Implement the default constructors for each class with a corresponding message tobe displayed when invoked. No initializations are required; that is, the outputmessage will be the only executable statement in the constructors. Do not implement any other methods for these classes ( i.e., ‘toString’, ‘equals’,getters and setters ). Implement a ‘ShapeTest’ class which will instantiate an object of each class. Exercise each of the ‘draw’, ‘move’, and ‘erase’ methods of each class Remember to make sure that…arrow_forward
- 16. Create a class SubstitutionCipher that implements the interface MessageEncoder, as described in the previous exercise. The constructor should have one parameter called shift. Define the method encode so that each letter is shifted by the value in shift. For example, if shift is 3, a will be replaced by d, b will be replaced by e, c will be replaced by f, and so on. (Hint: You may wish to define a private method that shifts a single character.)arrow_forwardDevelop the ‘Shape’ application such that: ‘Rectangle’, ‘Ellipse’, and ‘Triangle’ classes inherit from the ‘Shape’ class. Develop the ‘Square’ and ‘Circle’ class where ‘Square’ inherits from ‘Rectangle’ and‘Circle’ inherits from ‘Ellipse’. ‘Triangle’ has no derived class. For each class, implement the overridden methods ‘draw’, ‘move’, and ‘erase’. Eachmethod should only have an output statement such as “Rectangle – draw method”that will be displayed when the method is invoked. Implement the default constructors for each class with a corresponding message tobe displayed when invoked. No initializations are required; that is, the outputmessage will be the only executable statement in the constructors. Do not implement any other methods for these classes ( i.e., ‘toString’, ‘equals’,getters and setters ). Implement a ‘ShapeTest’ class which will instantiate an object of each class. Exercise each of the ‘draw’, ‘move’, and ‘erase’ methods of each class Remember to make sure that…arrow_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
- Create two classes of your choice (a parent and a child) and access their properties as shownabovearrow_forwardThe 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 following four classes to practice using an abstract class and polymorphism. Submit all four classes. Shape2D class For this class, include just an abstract method name get2DArea() that returns a double. Rectangle2D class Make this class inherit from the Shape2D class. Have it store a length and a width as fields. Provide a constructor that takes two double arguments and uses them to set the fields. Note, the area of a rectangle is the length times the width. Rectangle2D class Also make this class inherit from the Shape2D class. Have it store a radius as a field. Provide a constructor that takes a double argument and uses it to set the field. Note, the area of a circle is PI times it's radius times it's radius. Shape2DDriver class Have this class provide a method named displayName() that takes an object from just any of the above three classes (you can't use an Object type parameter). Have the method display the area of the object, rounded to one decimal place. using JAVA…arrow_forward
- Write a derived class of the NumberGuesser class named RandomNumberGuesser. The derived class should override the behavior of the getCurrentGuess method. It may also add member data and its own constructor. It may also override the higher(), lower() and reset() methods as you see fit. To get everyone started off on the same page I have written a NumberGuesser class. It is defined entirely in-line in the following file: NumberGuesser.h (Links to an external site.) In the current NumberGuesser class the getCurrentGuess() method returns the midpoint of the range of possible values. In your RandomNumberGuesser class the getCurrentGuess() method should return a randomly generated number in the range of possible values. Note that repeated calls to getCurrentGuess() should always return the same value for both classes if neither the higher() or the lower() functions are called. Consider the following example: NumberGuesser *ng = new NumberGuesser(1, 10);cout <<…arrow_forwardThis is for pygame Text Class The Text class inherits from Drawable and it will be used to display the player's score. You must implement at the very least the required methods of the base class (draw and get_rect), as well as a constructor. You may need to implement other methods as part of the public interface. This is the Drawable Class import pygame import abc import random class Drawable(metaclass - abc. ABCMeta): def --init(self, x- 0, y -0): self.x - x self.y - y self.position - (self.x, self.y) self.visible - False def setloc(self, p): self.x - p[0] self.y - p[1] def getloc(self): return(self.x, self.y) def getX(self): return self.x def getY(self): return self.y eabc.abstractmethod def draw(self, surface): pass eabc.abstractmethod def get_rect(self): passarrow_forwardHelp please: Write the definition of a class swimmingPool, to implement the properties of a swimming pool. Your class should have the instance variables to store the length (in feet), width (in feet), depth (in feet), the rate (in gallons per minute) at which the water is filling the pool, and the rate (in gallons per minute) at which the water is draining from the pool. Add appropriate constructors to initialize the instance variables. Also, add member functions to do the following: determine the amount of water needed to fill an empty or partially filled pool, determine the time needed to completely or partially fill or empty the pool, and add or drain water for a specific amount of time, if the water in the pool exceeds the total capacity of the pool, output "Pool overflow" to indicate that the water has breached capacity. exisiting code in different file: const double GALLONS_IN_A_CUBIC_FEET = 7.48; class swimmingPool { public: void set(double l = 0, double w = 0, double…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