Java 2 billBook -invoiceNumber: String -visitDate: String -patientName: String -paid: boolean -bills: bill[] -doctor: String +bill(all parameters) +Setters/getters methods(if needed) +printInvoice(): void +billBook(doctor:String,capacity:int) +Setters/getters methods (if needed) +addBills(): void +payBill(invoiceNumber: String): int Implement the class bill:a. Write the constructor that takes as parameters all data fields except the paid value. A bill object is by defauld not paid. b. The printInvoice() method should output the following information:  The invoiceNumber, the visitDate, the name of the patient name  A message “The bill is paid” or “The bill is not paid” according to the value of the field paid. 2. Implement the class billBook using the above UML: a. Write the constructor that takes as parameters the name of the doctor who has examined the patient and the capacity which represents the size of the array bills. b. Write the method addBills that reads the information of bill objects from the user, creates the objects, and fill them into the array billBook. c. Write the method payBill that:  It takes as parameter the invoive number.  Searches for the bill if available. If the bill is found, and it is not paid then the paid value is updated to true. The method returns 1.  If the bill is not found, the value -1 is returned. 3. Write an application (Driver class) in which you: - Create a billBook object of capacity 5. Read the doctor’s name from the user. - Call the method addBills. - Allow the user to pay a bill of his/her choice. Ask the user to enter the invoiceNumber of as many bill objects as he/she wants. If the bill is not found, then a “The bill is not found” message should be displayed. Assume the invoice numbers are different. - Find the number of paid bills in the array. For a sample run and the assignment guidelines see next page. Enter the doctor's name: Joe Yassin Bill 1 Enter the invoiceNumber, the patient name and the visit date: M123 HassanRammal 12-1-2021 Bill 2 Enter the invoiceNumber, the patient name and the visit date: M456 RachelRoy 21-4-2020 Bill 3 Enter the invoiceNumber, the patient name and the visit date: M765 SallyMoussa 09-02-2020 Bill 4 Enter the invoiceNumber, the patient name and the visit date: M76 MiraHammoud 07-04-2020 Bill 5 Enter the invoiceNumber, the patient name and the visit date: M13 JosephMakki 05-07-2020 Enter the invoice number to pay: M456 Bill is paid Continue?[y to continue]: y Enter the invoice number to pay: M765 Bill is paid Continue?[y to continue]: y Enter the invoice number to pay: M900 The bill is not found Continue?[y to continue]: n The total number of paid bills is 2 Assignment Guidelines: - This assignment is posted on Monday April 26

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

Java 2

billBook

-invoiceNumber: String
-visitDate: String
-patientName: String
-paid: boolean

-bills: bill[]
-doctor: String

+bill(all parameters)
+Setters/getters methods(if
needed)
+printInvoice(): void

+billBook(doctor:String,capacity:int)
+Setters/getters methods (if needed)
+addBills(): void
+payBill(invoiceNumber: String): int

Implement the class bill:a. Write the constructor that takes as parameters all data fields except the paid value. A
bill object is by defauld not paid.
b. The printInvoice() method should output the following information:
 The invoiceNumber, the visitDate, the name of the patient name
 A message “The bill is paid” or “The bill is not paid” according to the value of the field paid.
2. Implement the class billBook using the above UML:
a. Write the constructor that takes as parameters the name of the doctor who has
examined the patient and the capacity which represents the size of the array bills.
b. Write the method addBills that reads the information of bill objects from the user,
creates the objects, and fill them into the array billBook.
c. Write the method payBill that:
 It takes as parameter the invoive number.
 Searches for the bill if available. If the bill is found, and it is not paid then the paid
value is updated to true. The method returns 1.
 If the bill is not found, the value -1 is returned.
3. Write an application (Driver class) in which you:
- Create a billBook object of capacity 5. Read the doctor’s name from the user.
- Call the method addBills.
- Allow the user to pay a bill of his/her choice. Ask the user to enter the invoiceNumber
of as many bill objects as he/she wants. If the bill is not found, then a “The bill is not
found” message should be displayed. Assume the invoice numbers are different.
- Find the number of paid bills in the array.
For a sample run and the assignment guidelines see next page.


Enter the doctor's name: Joe Yassin
Bill 1
Enter the invoiceNumber, the patient name and the visit date: M123
HassanRammal 12-1-2021
Bill 2
Enter the invoiceNumber, the patient name and the visit date: M456
RachelRoy 21-4-2020
Bill 3
Enter the invoiceNumber, the patient name and the visit date: M765
SallyMoussa 09-02-2020
Bill 4
Enter the invoiceNumber, the patient name and the visit date: M76
MiraHammoud 07-04-2020
Bill 5
Enter the invoiceNumber, the patient name and the visit date: M13
JosephMakki 05-07-2020
Enter the invoice number to pay: M456
Bill is paid
Continue?[y to continue]: y
Enter the invoice number to pay: M765
Bill is paid
Continue?[y to continue]: y
Enter the invoice number to pay: M900
The bill is not found
Continue?[y to continue]: n
The total number of paid bills is 2
Assignment Guidelines:
- This assignment is posted on Monday April 26

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 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