problem description and answer all the questions about it: Problem Description: In the following Java code, method generateBillO (in class CreditCarBill) generate a credit card bill based on the used plan. 3 public class CreditCardBill { public enum PLAN { GOLD, STANDARD 46 3 public class GoldCreditCardPlan { 6. public double getDiscount() { return e.1; // 10% discount } 50 // Generate bill for this credit card 6. 7 public String generateBill(PLAN plan) { double discount = 0; if (plan == PLAN.GOLD) { GoldCreditCardPlan card = new GoldCreditCardPlan(); discount = card.getDiscount (); } else { StandardcreditCardPlan card new StandardCreditCardPlan(); discount = card.getDiscount(); } 10 8 } 11 12 13 14 3 public class StandardCreditCardPlan { 15 16 public double getDhcount() { return e; // 0% discount 5- 17 6. 18 19 return buildBillAsStr(discount); 20 21 private String buildBillAsStr(double discount) { // code to build the bill as string return ""; 220 23 24 25 26 } Q1) Change the above code to use Factory method design pattern in order to improve the way of generating bills. Q2) Write a main() method to test your changes in Q1 (you just need one test case -- make it simple)

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
(CLO3) Read the following problem description and answer all the questions about it:
Problem Description: In the following Java code, method generateBill() (in class CreditCarBill) generate a credit card bill based on
the used plan.
3 public class CreditCardBill {
public enum PLAN {
GOLD, STANDARD
4
3 public class GoldCreditCardPlan {
9.
4
public double getDiscount( {
return 0.1; // 10% discount
5%
9.
// Generate bill for this credit card
public String generateBil1(PLAN plan) {
8.
7.
double discount = 0;
if (plan
GoldCreditCardPlan card = new GoldCreditCardPlan();
discount = card.getDiscount ();
} else {
StandardCreditCardPlan card = new StandardCreditCardPlan();
discount = card.getDiscount();
10
11
6.
PLAN.GOLD) {
12
13
14
public class StandardCreditCardPlan {
15
16
17
18
19
public double getDrcount() {
return 0; // 0% discount
return buildBillAsStr(discount);
8 }
20
21
22
23
24
25
26}
private String buildBillAsStr(double discount) {
//code to build the bill as string
return "";
Q1) Change the above code to use Factory method design pattern in order to improve the way of generating bills.
Q2) Write a main() method to test your changes in Q1 (you just need one test case -- make it simple)
Transcribed Image Text:(CLO3) Read the following problem description and answer all the questions about it: Problem Description: In the following Java code, method generateBill() (in class CreditCarBill) generate a credit card bill based on the used plan. 3 public class CreditCardBill { public enum PLAN { GOLD, STANDARD 4 3 public class GoldCreditCardPlan { 9. 4 public double getDiscount( { return 0.1; // 10% discount 5% 9. // Generate bill for this credit card public String generateBil1(PLAN plan) { 8. 7. double discount = 0; if (plan GoldCreditCardPlan card = new GoldCreditCardPlan(); discount = card.getDiscount (); } else { StandardCreditCardPlan card = new StandardCreditCardPlan(); discount = card.getDiscount(); 10 11 6. PLAN.GOLD) { 12 13 14 public class StandardCreditCardPlan { 15 16 17 18 19 public double getDrcount() { return 0; // 0% discount return buildBillAsStr(discount); 8 } 20 21 22 23 24 25 26} private String buildBillAsStr(double discount) { //code to build the bill as string return ""; Q1) Change the above code to use Factory method design pattern in order to improve the way of generating bills. Q2) Write a main() method to test your changes in Q1 (you just need one test case -- make it simple)
Expert Solution
steps

Step by step

Solved in 4 steps with 1 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY