
Explanation of Solution
Implementation of the derived class “CombinedDiscount”:
The implementation of the “CombinedDiscount” class derived from the “DiscountPolicy” abstract class is given below:
- • Declare the “p1”, and “p2” variables.
- • Define the constructor.
- ○ Set the values to the declared variables.
- • Define the “computeDiscount” method.
- ○ Declare the required variables.
- ○ Call the “computeDiscount” method with different variables.
- ○ Return the maximum value by checking “discount1” and “discount2” values.
- • Define the main method.
- ○ Create the objects for the “CombinedDiscount”, “BuyNItemsGetOneFree”, and “BulkDiscount” classes.
- ○ The “for” loop through 1 to10 numbers.
- ■ Call the “computeDiscount” method with objects and display the output.
The implementation of the “BulkDiscount” class derived from the “DiscountPolicy” abstract class is given below:
- • Declare the “min”, and “percentOff” variables.
- • Define the constructor.
- ○ Set the values to the declared variables.
- • Define the “computeDiscount” method.
- ○ If the purchase count is less than minimum, then calculate the “discount” value.
- ○ Otherwise make “discount” as 0.
- • Finally return the “discount” value.
- • Define the main method.
- ○ Create an object for the “BulkDiscount” class.
- ○ Call the “computeDiscount” method with different parameters and display the output.
The implementation of the “BuyNItemsGetOneFree” class derived from the “DiscountPolicy” abstract class is given below:
- • Declare the “x” variable.
- • Define the constructor.
- ○ Set the values to the declared variable.
- • Define the “computeDiscount” method.
- ○ Declare the required variables.
- ○ Calculate the “a” and “discount” values.
- ○ Return the “discount” value.
- • Define the main method.
- ○ Create an object for the “BuyNItemsGetOneFree” class.
- ○ The “for” loop through 1 to10 numbers.
- ■ Call the “computeDiscount” method with the parameter and display the output.
The creation of the abstract class “DiscountPolicy” is given below:
- • Declare the abstract method “computeDiscount” along with the two parameters “count” and “itemCost”.
- ○ This method compute and return the discount for the purchase of a given number of single item.
Program:
Filename: CombinedDiscount.java
//definition of "CombinedDiscount" class
public class CombinedDiscount extends DiscountPolicy
{
//declare the required variables
private DiscountPolicy p1;
private DiscountPolicy p2;
//definition of constructor
public CombinedDiscount(DiscountPolicy first, DiscountPolicy second )
{
//set the values
p1 = first;
p2 = second;
}
//definition of "computeDiscount" method
public double computeDiscount(int count, double itemCost)
{
//declare the required variables
double discount1;
double discount2;
//call the methods with different variables
discount1 = p1.computeDiscount(count, itemCost);
discount2 = p2.computeDiscount(count, itemCost);
//check the condition
if(discount1 > discount2)
//return the value
return discount1;
//otherwise
else
//return the value
return discount2;
}
//definition of main method
public static void main(String[] args)
{
//create the objects for the classes
DiscountPolicy buy = new BuyNItemsGetOneFree(3);
DiscountPolicy bulk = new BulkDiscount(5, 30...

Want to see the full answer?
Check out a sample textbook solution
Chapter 8 Solutions
Java: An Introduction to Problem Solving and Programming (8th Edition)
- The mail merge process has ____ steps. Question 19Select one: a. five b. six c. seven d. eightarrow_forwardIf you created a main document based on an existing document entitled "Confirmation Letter," what default filename would Word give the main document? Question 14Select one: a. Confirmation Letter-1 b. Confirmation Letter-merge c. Document1 d. MergedDocument1arrow_forwardClick the ____ option button in the Mail Merge task pane to use an Outlook contact list as a data source for a merge. Question 11Select one: a. Use Outlook contacts list b. Select from Outlook contacts c. Select Contacts d. Mail Merge Recipientsarrow_forward
- A(n) ____ cannot be selected as the document type in the Mail Merge task pane. Question 9Select one: a. Letter b. Directory c. Fax d. E-mail messagearrow_forwardConsider a Superstore Database which consists of 3 tables, Orders, Returns, and Managers. The CSV files have been provided along with this DOC file in the Midterm 2 Link in the Moodle. Answer the questions as below: Use the created table as in the provided SQL query file, solve the problems as mentioned below. You will have to import the respective CSV files of the above created tables as without them, it is impossible to solve the questions below. If you are not able to upload the files successfully, do not leave the query questions. Just write the query to the best of your knowledge. Do not copy. To be graded for the screenshot answer, you must upload the CSV properly and paste the resulting screenshot of the queries as asked. Write Query to Find out which Product Sub-Category has a sum of Shipping Cost to sum of Sales ratio > 0.03.arrow_forwardI need to render an image of a car continuously for a smooth visual experience in C# WinForms. It gets the location array (that has all the x,y of the tiles it should visit) from another function - assume it is already written.arrow_forward
- write c program with features: Register a Bunny: Store the bunny's name, poem, and initialize the egg count to 0. Modify an Entry: Change the bunny's poem or update the egg count. Delete a Bunny: Remove a registered bunny from the list. List All Bunnies: Display all registered bunnies and their details. Save & Load Data: Store bunny data in a file to persist between runs. Use a struct to represent a bunny contestant. Store data in a binary file (bunnies.dat) for persistence. Use file I/O functions (fopen, fwrite, fread, etc.) to manage data. Implement a menu-driven interface for user interaction.arrow_forwardHelp, how do I write the pseudocode for the findMean function and flowchart for this?arrow_forwardNeed help drawing a flowchart for the findMax function herearrow_forward
- Need help writing the pseudocode for the findMin function with attachedarrow_forwardCreate a static function in C# where poachers appear and attempt to hunt animals. It gets the location of the closest animal to itself. Take account of that the animal also move too, so it should update the closest location (x, y) everytime it moves to a new location. Use winforms to show the movements of poachers.arrow_forwardCreate a static function in C# where poachers appear and attempt to hunt animals. It gets the location of the closest animal to itself. Take account of that the animal also moves too, so it should update the closest location (x, y) everytime it moves to a new location. Use winforms to show to movementsarrow_forward
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage LearningC++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology PtrEBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENT
- Programming Logic & Design ComprehensiveComputer ScienceISBN:9781337669405Author:FARRELLPublisher:CengageMicrosoft Visual C#Computer ScienceISBN:9781337102100Author:Joyce, Farrell.Publisher:Cengage Learning,New Perspectives on HTML5, CSS3, and JavaScriptComputer ScienceISBN:9781305503922Author:Patrick M. CareyPublisher:Cengage Learning




