Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Hey can anyone help me with this Vending Machine For this purposes of this proje

ID: 3922060 • Letter: H

Question

Hey can anyone help me with this

Vending Machine

For this purposes of this project, imagine a vending machine that has only one product that costs a fixed price.

For this machine you can put in nickels, dimes, quarters, and dollar bills which increase the balance by .05, .1, .25 and 1.0 respectively.

If enough money is put in, it can dispense the product and return change if needed.

Data Entry:

Money:

B – Bill 1.00

Q – Quarter .25

D – Dime .10

N – Nickel .05

Data Entry:

Commands:

R – Refund – returns “balance”

P – Product – if balance is sufficient, dispenses product, reduces balance by 1.25, and if there is a remaining balance dispenses that too.

– if balance is not sufficient tells user a product can’t be dispensed

X – eXit – terminates program

Explanation / Answer

ProductDispencedMachine.java

import java.util.Scanner;

public class ProductDispencedMachine {

   public static void main(String[] args) {

       // Declaring variables
       char choice;
       double balance = 0.0;
       Scanner sc = new Scanner(System.in);
       // this loop continue to execute until unser enters 'X"
       while (true) {
           // Displaying menu
           System.out.println(" Money:");
           System.out.println("B - Bill");
           System.out.println("Q - Quarter");
           System.out.println("D - Dime");
           System.out.println("N - Nickel");
           System.out.println("R - Refund");
           System.out.println("P - Product");
           System.out.println("X - Exit");

           // Getting the choice entered by the user.
           System.out.print("Enter choice :");
           choice = sc.next(".").charAt(0);

           // Based on the users choice the corresponding case will get
           // executed.
           switch (choice) {
           case 'B':
           case 'b': {
               // Adding 1.00 to the current balance
               balance = balance + 1.00;

               // Displaying the balance after adding money
               System.out.printf("Amount :%.2f", balance);
               System.out.println(" ");
               continue;
           }
           case 'Q':
           case 'q': {

               // Adding 0.25 to the current balance
               balance = balance + 0.25;

               // Displaying the balance after adding money
               System.out.printf("Amount :%.2f", balance);

               System.out.println(" ");
               continue;
           }
           case 'D':
           case 'd': {

               // Adding 0.10 to the current balance
               balance = balance + 0.10;

               // Displaying the balance after adding money
               System.out.printf("Amount :%.2f", balance);
               System.out.println(" ");
               continue;
           }
           case 'N':
           case 'n': {

               // Adding 0.05 to the current balance
               balance = balance + 0.05;

               // Displaying the balance after adding money
               System.out.printf("Amount :%.2f", balance);
               System.out.println(" ");
               continue;
           }
           case 'R':
           case 'r': {
               // Returned money
               System.out.printf("Returned Amount :%.2f", balance);
               System.out.println(" ");
               balance = 0;
               continue;
           }
           case 'P':
           case 'p': {
               if (balance >= 1.25) {

                   System.out.println("Product Dispensed ");

                   // Subtracting 1.25 from balance
                   balance = balance - 1.25;
                   System.out.printf("Balance Amount Returned :%.2f", balance);
                   System.out.println(" ");
               } else {
                   // If the amount is less than 1.25 then ,it will display
                   // Error message
                   System.out.println("Product can't be dispensed");
               }

               continue;
           }
           case 'X':
           case 'x':
               break;

           }
           break;
       }

   }

}

___________________________________________________

Output1:


Money:
B - Bill
Q - Quarter
D - Dime
N - Nickel
R - Refund
P - Product
X - Exit
Enter choice :B
Amount :1.00

Money:
B - Bill
Q - Quarter
D - Dime
N - Nickel
R - Refund
P - Product
X - Exit
Enter choice :Q
Amount :1.25

Money:
B - Bill
Q - Quarter
D - Dime
N - Nickel
R - Refund
P - Product
X - Exit
Enter choice :N
Amount :1.30

Money:
B - Bill
Q - Quarter
D - Dime
N - Nickel
R - Refund
P - Product
X - Exit
Enter choice :D
Amount :1.40

Money:
B - Bill
Q - Quarter
D - Dime
N - Nickel
R - Refund
P - Product
X - Exit
Enter choice :P
Product Dispensed
Balance Amount Returned :0.15

Money:
B - Bill
Q - Quarter
D - Dime
N - Nickel
R - Refund
P - Product
X - Exit
Enter choice :X

________________________________________

Output2:


Money:
B - Bill
Q - Quarter
D - Dime
N - Nickel
R - Refund
P - Product
X - Exit
Enter choice :Q
Amount :0.25

Money:
B - Bill
Q - Quarter
D - Dime
N - Nickel
R - Refund
P - Product
X - Exit
Enter choice :D
Amount :0.35

Money:
B - Bill
Q - Quarter
D - Dime
N - Nickel
R - Refund
P - Product
X - Exit
Enter choice :N
Amount :0.40

Money:
B - Bill
Q - Quarter
D - Dime
N - Nickel
R - Refund
P - Product
X - Exit
Enter choice :Q
Amount :0.65

Money:
B - Bill
Q - Quarter
D - Dime
N - Nickel
R - Refund
P - Product
X - Exit
Enter choice :N
Amount :0.70

Money:
B - Bill
Q - Quarter
D - Dime
N - Nickel
R - Refund
P - Product
X - Exit
Enter choice :Q
Amount :0.95

Money:
B - Bill
Q - Quarter
D - Dime
N - Nickel
R - Refund
P - Product
X - Exit
Enter choice :P
Product can't be dispensed

Money:
B - Bill
Q - Quarter
D - Dime
N - Nickel
R - Refund
P - Product
X - Exit
Enter choice :B
Amount :1.95

Money:
B - Bill
Q - Quarter
D - Dime
N - Nickel
R - Refund
P - Product
X - Exit
Enter choice :P
Product Dispensed
Balance Amount Returned :0.70

Money:
B - Bill
Q - Quarter
D - Dime
N - Nickel
R - Refund
P - Product
X - Exit
Enter choice :X

_________________________________Thank You