Question
Write a Java application that prompts the user for pairs of inputs of a product number (1-5), and then an integer quantity of units sold (this is two separate prompts for input values). You must use a switch statement and a sentinel-controlled loop (i.e. a loop that stops execution when an out of range value, such as -1, is input). All 15 items below are for a single purchase. There are five sets of inputs as follows:

Product 1    1 unit                   (cost is $2.98 per unit)
Product 2    2 units                  (cost is $4.50 per unit)
Product 3    3 units                  (cost is $9.98 per unit)
Product 4    4 units                  (cost is $4.49 per unit)
Product 5    5 units                  (cost is $6.87 per unit)

Your application must show the user’s input of each pair of product number and quantity, the calculated line cost for that product, and the cumulative order cost so far. Then, after the sentinel value is input your program must display the total retail cost for the full order.

For full possible credit you must show all 11 user inputs (5 product number and quantity pairs and the sentinel value) and all the corresponding program outputs, not just a subset of the inputs and outputs.

(This program was taken from Exercise 5.17 on page 228 of Deitel & Deitel's "Java How to Program (Sixth Edition)" (2005 by Pearson Publishing Co.). This is a reference to give credit to the author of the program and is NOT a required reference book you need to solve this program!)

You may use any Java IDE you choose to compile and execute your program.

You are to submit the following deliverables to the Assignment Link in a single Microsoft Word or PDFfile:
1. A screen snapshot of a portion of your Java source code for each class as it appears in your IDE (e.g. jGRASP, Net Beans, Eclipse, etc.).

2. A listing of your entire Java source code for each class in the same Microsoft Word or PDF file as item a), and following item a). You can simply copy and paste the text from your IDE into your Word or PDF file. Be sure to maintain proper code alignment by using Courier font for this item.

3. A screen snapshot of all of your program’s input and output in the same Microsoft Word or PDF file, and following item b). You must include screen snapshots of all inputs and all outputs, not just a sample. Not including all required user inputs and program outputs will result in lost points.

Do not include separate files for output, source code, etc. You must submit everything in a single Word or PDF file as stated in a) through c) above and in that order. Submitting more than a single file may result in lost points.

Your instructor may compile and run your program to verify that it compiles and executes properly.

You will be evaluated on (in order of importance):
Inclusion of all deliverables in the correct order.
Correct execution of your program.
Adequate commenting of your code.
Good programming style (as specified in the textbook's examples).
Neatness in packaging and labeling of your deliverables.

Here is some pseudocode/skeleton Java code for one possible solution to the program to get you started (this shows procedural code, but an object-oriented solution would have been better, since Java is a pure object-oriented language):

import the classes you need

main
    declare productNo and quantity variables
    declare and initialize lineAmount and orderAmount variables
set up a String for your output via the Scanner class (or you may use the JTextArea
          GUI component – this will require additional research beyond the textbook!)
    start filling the String (or JTextArea) with the headers for Product, Quantity, Line
             Cost, and Total Cost
    prompt the user for the first productNo
    while the productNo is not the sentinel value of -1
             get the quantity
             if the quantity is -1 then exit
             switch on productNo
                        in each case, determine the new lineAmount
             add the lineAmount to the orderAmount
             add the new subtotal/order line information to the output String (or JTextArea)
             get the next productNo
    output the total orderAmount


Here is an example of what the beginning of your output might look like after the first product has been input and the information for the second one is starting to be entered. Note that this output uses a JTextArea GUI component for easy assembly and output of multiline text.

It is NOT required that you use a JTextArea component!   You may use the Scanner class if you want.

If you do want to use a JTextArea component though, you will have to do some research beyond our textbook. Note that this is a frequent activity you'll find yourself doing day-to-day in any IT programming job. Not all answers are "right in the book"! Look at it as a learning opportunity to familiarize yourself with the Java API.

This would continue with a quantity of 2 for Product No. 2, then Product 3 with a quantity of 3, then Product 4 with a quantity of 4, and finally Product 5 with a quantity of 5.

Therefore the quantity of each product matches the Product No. And there are 15 total units for order.

Note that there is a single correct answer for the order total!
Solution Preview

These solutions may offer step-by-step problem-solving explanations or good writing examples that include modern styles of formatting and construction of bibliographies out of text citations and references.
Students may use these solutions for personal skill-building and practice.
Unethical use is strictly forbidden.

public class ProductInputs {
// Main method for program execution
public static void main(String[] args) {
    Scanner s = new Scanner(System.in);
    double total = 0.0;
    int input = 0;
    // Query user inputs in a sentinel-controlled loop
    while (true) {
      System.out.print("Enter the product number: ");
      int number = s.nextInt();
      if (number == -1)
       break;
      System.out.print("Enter the quantity of units sold: ");
      int quantity = s.nextInt();
      if (quantity == -1)
       break;
      double price = -1;
      // Switch statement
      switch (number) {
This is only a preview of the solution.
Please use the purchase button to see the entire solution.
By purchasing this solution you'll be able to access the following files:
Solution.java
Solution.docx
Purchase Solution
$30.00
Google Pay
Amazon
Paypal
Mastercard
Visacard
Discover
Amex
View Available Computer Science Tutors 641 tutors matched
Ionut
(ionut)
Master of Computer Science
Hi! MSc Applied Informatics & Computer Science Engineer. Practical experience in many CS & IT branches.Research work & homework
5/5 (6,803+ sessions)
1 hour avg response
$15-$50 hourly rate
Pranay
(math1983)
Doctor of Philosophy (PhD)
Ph.D. in mathematics and working as an Assistant Professor in University. I can provide help in mathematics, statistics and allied areas.
4.6/5 (6,660+ sessions)
1 hour avg response
$40-$50 hourly rate
Leo
(Leo)
Doctor of Philosophy (PhD)
Hi! I have been a professor in New York and taught in a math department and in an applied math department.
4.9/5 (6,421+ sessions)
2 hours avg response

Similar Homework Solutions