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

JAVA: Your task in this assignment is to write a simple class definition for a v

ID: 674886 • Letter: J

Question

JAVA:

Your task in this assignment is to write a simple class definition for a vending machine. The class should have:

Attributes:

Soda count

Money credit (how much money has been inserted)

Methods:

Add money

Vend

Restock

Constructor

For simplicity sake, you may assume that the machine can hold up to 50 of one type of soda; you may also assume that all sodas cost $0.65. When adding money, simply take in a floating-point number representing how much money to add (i.e. you do not have to manage different coins).

Be sure to make sure that enough money was added to the machine before a soda is vended. Also, when a soda is vended, return the appropriate change (i.e. if more than $0.65 was added to the machine, then return the extra money). Again, don't worry about managing different kinds of coins just display the amount returned.

When the machine is "restocked," just set the soda count to the maximum that the machine will hold.

Once you have written the class, create a main/driver program that interacts with an instance of the class. Your program should present a menu of options to the user and process the user's choice; use creativity and object-oriented design in your solution.

Explanation / Answer

Answer :

import java.util.*;

import java.text.*;

public class Vendor{

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

DecimalFormat money = new DecimalFormat("$0.00");

System.out.print("Soda's cost is: $" + vendingMachine.getSodaCost() + " Enter payment: ");
float sodaPayment = input.nextFloat();

if (sodaPayment >= .65){
vendingMachine.setSodaPayment(sodaPayment);
int sodaCount = vendingMachine.getSodaCount();
System.out.print(sodaCount + " " + money.format(vendingMachine.getChange()));
if (sodaCount == 0)
{
vendingMachine.restock();
}


}
else
System.out.println("Invalid amount");

}

}

class vendingMachine{

private static int sodaCount = 50;

private static float sodaCost;

public static float sodaPayment;

public vendingMachine(){

sodaCount--;
}

public vendingMachine(float newSodaPayment){
sodaPayment = newSodaPayment;
sodaCount--;
}


public static float getSodaPayment(){
return sodaPayment;
}

public static void setSodaPayment(float newSodaPayment){
sodaPayment = (newSodaPayment >= .65) ? newSodaPayment : 0;
}

public static int getSodaCount(){
for (int i = 0; i <= 50; i++){
sodaCount = i;
}

sodaCount--;
return sodaCount;
}


public static float getSodaCost(){
return sodaCost = .65f;
}


public static float getChange(){
float change = 0;
if (sodaPayment != 0){
change = sodaPayment - sodaCost;
}
return change;
}

public static void restock(){
for (int i = 0; i <= 50; i++){
sodaCount = i;
}
}

}