Requirements description: 1.Assume you work part-time at a sandwich store. As the only employee who knows java programming, you help to write a sandwich ordering application for the store. The following is a requirement description with some sample output. 1. Selecting bread When the program starts, it first shows a list/menu of sandwich breads and their prices, then asks a user to select a bread by entering a corresponding integer number. A sample output is as follows. ===Select Sandwich Bread: 1 White Bread $1.5 2 Wheat Bread $1.6 3 French Bread $1.8 4 Organic Bread $2.0 Select a bread [1, 4]: If the user enters an integer number not between 1 and 4, the user will see an error message and the input verification is done by using the programmer. A sample output for invalid number is as follows. Select a bread [1, 4]: 0 Error! Number must be greater than 0. Select a bread [1, 4]: In your program, you can hard-code the information for sandwich breads (i.e., bread names and prices) shown above, such as "1 White Bread $1.5" and use the hard-code price, such as 1.5, for calculation of a total price of the order. 2. Selecting vegetables After the user provides a right number for bread selection, the program asks the user to select vegetables. A sample output is as follows. Again, input validation is needed and is provided by the programmer. Select Sandwich Vegetables: 1 red onions S0.05 2 olives $0.10 3 pickles $0.10 4 lettuce $0.20 5 green peppers $0.25 6 tomatoes $0.30 7 cheese $0.50 8 Quit vegetable selection Select vegetables: [1, 8]: You hard-code the vegetables information as shown above, such as "1 red onions $0.10" and use the hard-code price, such as 0.10, for calculation of the total price of the order. After the user makes a choice for vegetable, such as 2 for olives. The program continues asking for selecting a vegetable so that the user can have multiple vegetables for one sandwich. The user can enter "8" to quit vegetable selection. A sample output is as follows. ===Select Sandwich Vegetables: 1 red onions $0.05 2 olives $0.10 3 pickles $0.10 4 lettuce $0.20 5 green peppers $0.25 6 tomatoes $0.30 7 cheese $0.50 8 Quit vegetable selection Select vegetables: [1, 8]: 2 Select Sandwich Vegetables: 1 red onions S0.05 2 olives $0.10 3 pickles $0.10 4 lettuce $0.20 5 green peppers $0.25 6 tomatoes $0.30 7 cheese $0.50 8 Quit vegetable selection Select vegetables: [1, 8]: 3. Selecting meat

EBK JAVA PROGRAMMING
9th Edition
ISBN:9781337671385
Author:FARRELL
Publisher:FARRELL
Chapter8: Arrays
Section: Chapter Questions
Problem 4GZ
Question
 
 

=== Select Sandwich Meat: ===
1 Ham $1.0
2 Roasted Chicken Breast $1.1
3 Turkey Breast $1.2
4 Roast Beef $1.5
5 Quit meat selection
Select meat [1, 5]:
Input validation is needed and works as before. Unlike vegetable selection which allows selecting multiple
vegetables, meat selection does not repeat after the user enters a valid number between 1 and 5.
You hard-code the information for meat shown above, such as “1 Ham $1.0” and use the hard-code price,
such as 1.0, for calculation of the total price of the order.
4. Entering a customer’s name
After making a meat selection, the program asks for the user’s name so that the user can enter a name like
John or John Smith.
=== Select Sandwich Meat: ===
1 Ham $1.0
2 Roasted Chicken Breast $1.1
3
3 Turkey Breast $1.2
4 Roast Beef $1.5
5 Quit meat selection
Select meat [1, 5]: 4
Enter customer's name: John Smith
5. Displaying and writing order line information
 
 
 
 
 
 
 
 
After entering a customer name, the program prints details for this order in computer monitor. The
information includes the following six fields: date and time, customer name, bread, vegetable(s), meat, and a
(formatted) total price, and each field is separated by a tab. A sample output to the monitor is as follows.
Enter customer's name: John Smith
Jul 6, 2016 10:35:43 AM John Smith Organic Bread lettuce,
tomatoes, green peppers Roast Beef $4.25
Continue to order more sandwich? (y/n):
For your reference, the date and time is created by the following statements.
Date now = new Date(); DateFormat defaultDate = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,
DateFormat.MEDIUM); String time = defaultDate.format(now);
Multiple vegetables are separated by commas.
Besides showing on monitor, the same order content is written (appended) to a text file named orderline.txt
and each order occupies one line in the text file. Here is a specific example for an order in the orderline.txt.
2016/07/05 20:34:17 John Smith Organic Bread lettuce, tomatoes, green
peppers Roast Beef $4.25
Your program needs to create the output file, named orderline.txt, if it doesn’t exist yet, and later appends
(not overwrite) order information to the file. So next time when your program is executed, new order
information will be appended to the orderline.txt file. You must use a relative path when creating an output
stream writer object. For simplicity, we don’t record any information about the sales clerk and one order
includes only one sandwich.
6. Repeating the order process
Continue to order more sandwich? (y/n):
If the user enters y or Y in the above prompt, the whole order process repeats by asking the user to select a
sandwich bread, vegetable(s), meat, and enter a customer name, and write the order content to file, etc.
Design requirements
You must have at least the following java classes. You may have additional classes if you want. [1] Sandwich
class simulates the sandwich entity in real world. It has attributes of bread, vegetables,
 
 
 
 
 
 
 
 
meat, and price of the sandwich, and corresponding methods. [2] Order class simulates the order. This class
has attributes of a customer name, a sandwich object,
and the string value for time stamp (refer to the prior sample code). [3] SandwichIO class provides a static
method, writeOrderToFile(Order). This method appends the passed-in order’s content to the output text file,
orderline.txt.
[4] SandwichApp is the Java application that has the main method. This class interacts with Sandwich,
Order, SandwichIO, and the provided Validation. Hint: In this class, once you have enough information for a
sandwich, you create a Sandwich object; once you have enough information for an order, you create an Order
object; and then call the static method from SandwichIO to write the content of the order to the orderline.txt
file
Requirements description:
1.Assume you work part-time at a sandwich store. As the only employee who knows java programming, you
help to write a sandwich ordering application for the store.
The following is a requirement description with some sample output.
1. Selecting bread
When the program starts, it first shows a list/menu of sandwich breads and their prices, then asks a user to
select a bread by entering a corresponding integer number. A sample output is as follows.
===Select Sandwich Bread:
1 White Bread $1.5
2 Wheat Bread $1.6
3 French Bread $1.8
4 Organic Bread $2.0
Select a bread [1, 4]:
If the user enters an integer number not between 1 and 4, the user will see an error message and the input
verification is done by using the programmer. A sample output for invalid number is as follows.
Select a bread [1, 4]: 0
Error! Number must be greater than 0.
Select a bread [1, 4]:
In your program, you can hard-code the information for sandwich breads (i.e., bread names and prices) shown
above, such as "1 White Bread $1.5" and use the hard-code price, such as 1.5, for calculation of a total
price of the order.
Transcribed Image Text:Requirements description: 1.Assume you work part-time at a sandwich store. As the only employee who knows java programming, you help to write a sandwich ordering application for the store. The following is a requirement description with some sample output. 1. Selecting bread When the program starts, it first shows a list/menu of sandwich breads and their prices, then asks a user to select a bread by entering a corresponding integer number. A sample output is as follows. ===Select Sandwich Bread: 1 White Bread $1.5 2 Wheat Bread $1.6 3 French Bread $1.8 4 Organic Bread $2.0 Select a bread [1, 4]: If the user enters an integer number not between 1 and 4, the user will see an error message and the input verification is done by using the programmer. A sample output for invalid number is as follows. Select a bread [1, 4]: 0 Error! Number must be greater than 0. Select a bread [1, 4]: In your program, you can hard-code the information for sandwich breads (i.e., bread names and prices) shown above, such as "1 White Bread $1.5" and use the hard-code price, such as 1.5, for calculation of a total price of the order.
2. Selecting vegetables
After the user provides a right number for bread selection, the program asks the user to select vegetables. A
sample output is as follows. Again, input validation is needed and is provided by the programmer.
Select Sandwich Vegetables:
1 red onions S0.05
2 olives $0.10
3 pickles $0.10
4 lettuce $0.20
5 green peppers $0.25
6 tomatoes $0.30
7 cheese $0.50
8 Quit vegetable selection
Select vegetables: [1, 8]:
You hard-code the vegetables information as shown above, such as "1 red onions $0.10" and use the
hard-code price, such as 0.10, for calculation of the total price of the order.
After the user makes a choice for vegetable, such as 2 for olives. The program continues asking for selecting a
vegetable so that the user can have multiple vegetables for one sandwich. The user can enter "8" to quit
vegetable selection. A sample output is as follows.
===Select Sandwich Vegetables:
1 red onions $0.05
2 olives $0.10
3 pickles $0.10
4
lettuce $0.20
5 green peppers $0.25
6 tomatoes $0.30
7 cheese $0.50
8 Quit vegetable selection
Select vegetables: [1, 8]: 2
Select Sandwich Vegetables:
1 red onions S0.05
2 olives $0.10
3 pickles $0.10
4 lettuce $0.20
5 green peppers $0.25
6 tomatoes $0.30
7 cheese $0.50
8 Quit vegetable selection
Select vegetables: [1, 8]:
3. Selecting meat
Transcribed Image Text:2. Selecting vegetables After the user provides a right number for bread selection, the program asks the user to select vegetables. A sample output is as follows. Again, input validation is needed and is provided by the programmer. Select Sandwich Vegetables: 1 red onions S0.05 2 olives $0.10 3 pickles $0.10 4 lettuce $0.20 5 green peppers $0.25 6 tomatoes $0.30 7 cheese $0.50 8 Quit vegetable selection Select vegetables: [1, 8]: You hard-code the vegetables information as shown above, such as "1 red onions $0.10" and use the hard-code price, such as 0.10, for calculation of the total price of the order. After the user makes a choice for vegetable, such as 2 for olives. The program continues asking for selecting a vegetable so that the user can have multiple vegetables for one sandwich. The user can enter "8" to quit vegetable selection. A sample output is as follows. ===Select Sandwich Vegetables: 1 red onions $0.05 2 olives $0.10 3 pickles $0.10 4 lettuce $0.20 5 green peppers $0.25 6 tomatoes $0.30 7 cheese $0.50 8 Quit vegetable selection Select vegetables: [1, 8]: 2 Select Sandwich Vegetables: 1 red onions S0.05 2 olives $0.10 3 pickles $0.10 4 lettuce $0.20 5 green peppers $0.25 6 tomatoes $0.30 7 cheese $0.50 8 Quit vegetable selection Select vegetables: [1, 8]: 3. Selecting meat
AI-Generated Solution
AI-generated content may present inaccurate or offensive content that does not represent bartleby’s views.
steps

Unlock instant AI solutions

Tap the button
to generate a solution

Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning