Waiting for answer This question has not been answered yet. You can hire a professional tutor to get the answer.
Create a class named Invoice that holds an invoice number, balance due, and three fields representing the month, day, and year when the balance is...
a. Create a class named Invoice that holds an invoice number, balance due, and three fields representing the month, day, and year when the balance is due. Create a constructor that accepts value s for all five data fields. Within the constructor, assign each argument to th e appropriate field with the following exceptions:
- If an invoice number is less than 1000, force the invoice number to 0.
- If the month field is less than 1 or greater than 12, force the month field to 0.
- If the day field is less than 1 or greater than 31, force the day field to 0.
-If the year field is less than 2011 or greater than 2017, force the year field to 0.
In the Invoice class, include a display method that displays all the fields on an Invoice object. Save the file as Invoice.java
b. Write an application containing a main() method that declares several Invoice objects, proving that all the statements in the constructor operate as specified. Save the file as TestInvoice.java
c. Modify the constructor in the Invoice class so that the day is not greater than 31, 30, or 28, depending on the month. For example, if a user tries to create an invoice for April 31, force it to April 30. Also, if the month is invalid, and thus forced to 0, also force the day to 0. Save the modified Invoice class as Invoice2.java .Then modify the Test Invoice class to create Invoice2 objects. Create enough objects to test every decision in the constructor. Save this file as TestInvoice2.java .