Hi,
I need some help with a school project. This is what I have done so far:
(Sorry about the wall of code)

public abstract class State {

    private double drinkPrice;
    private double amountPutIn;
    private String selection;


    public State() {
    }

    public State(double drinkPrice, double amountPutIn, String selection) {
        this.drinkPrice = drinkPrice;
        this.amountPutIn = amountPutIn;
        this.selection = selection;
    }

    public double getDrinkPrice(){
        return drinkPrice;
    }
    
    public void setDrinkPrice(double drinkPrice){
        this.drinkPrice = drinkPrice;
    }

    public double getAmountPutIn() {
        return amountPutIn;
    }

    public void setAmountPutIn(double amountPutIn) {
        this.amountPutIn = amountPutIn;
    }

    public String getSelection(){
        return selection;
    }

    public void setSelection(String selection){
        this.selection = selection;
    }

    public abstract void makeSelection(String selection, CoffeeMachine coffeemachine);
}

This State class is fine I think for the moment.

public class SelectDrink extends State {

    @Override
    public void makeSelection(String selection, CoffeeMachine coffeemachine) {
        if (selection.equals(CoffeeMachine.COFFEE)){
            selection = super.setSelection();
        } else if (selection.equals(CoffeeMachine.CHOCOLATE)){
            selection = super.setSelection();
        } else {
            selection = super.setSelection();
        }
    }
}

I need help figuring out what to put inside the parentheses in super.setSelection();

public class CoffeeMachine {

    public static final String COFFEE = "Coffee";
    public static final String CHOCOLATE = "Chocolate";
    public static final String TEA = "Tea";
    
    HashMap<String, Integer> drinkPrice = new HashMap<String, Integer>();

    public CoffeeMachine() {
        drinkPrice.put(COFFEE, 20);
        drinkPrice.put(CHOCOLATE, 15);
        drinkPrice.put(TEA, 10);
    }

    public int getPrice(String selection) {
        return drinkPrice.get();
    }
}

And here I need help with the getPrice method. I need to get the value from the HashMap for any of the three coffee, chocolate and tea.

I attached the handed out description of the project. The state diagram and the State Transition and Action table I made myself.

I would greatly appreciate any help or pointers in the right direction.

This article has been dead for over six months. Start a new discussion instead.