Subject: Computer Science / General Computer Science
Error Handling and File Input and Output
Modify your handling of the quantity of items to include the following:
Only values in the range 1–99 are accepted. Illegal or out-of-range values cause a reprompt for a valid input. Up to 3 such requests for valid input are made, and the program terminates if a valid numeric in-range quantity is not entered by the customer. Exception handling is used to accomplish this.
You should bundle all of this as a new method, such as getNumericInput( ), and then use a call to this new method in place of your existing quantity request code.
Modify your code that validates string input (like returning customer, color, crust, etc.) so that only correct responses are accepted.
Check for yes or no, regular or deep dish, and so forth.
Modify your display of the cost of the product so that it appears properly formatted with a dollar sign and exactly two digits to the right of the decimal point.
Add a phone number to the collection of customer or product attributes. The phone number must be entered in the form (###) #######, where “#” is any digit (0-9) and the parentheses and hyphen are required.
The space after the closed parentheses may or may not be present. You must create a method that handles the input and the validation of the phone number. You should use the Java java.util.regex.* pattern matching capabilities to validate the phone number.
A file (named “order.txt”) must be written that contains each of the above data items that constitute an order. The items must be written on separate lines in the file. No other information may be written to the file. You must be able to view the file using Notepad to verify that the information that it contains is complete and correct.
The order file only should be written if there are no validation errors whatsoever.
You should create a method (named “writeOrderFile( )”) that handles file output.
Create a confirmation method that reads the data values from the order file into separate variables. It then should create and display a confirmation that shows the values that were read. Each value should be identified using an appropriate label. Consider the following example:
· Thank you for your order.
Name: Joe Blow
Returning customer: Yes
Phone: (123) 456-7890
Note: You must use this confirmation method in place of your existing code that creates the confirmation display.