-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathHasMoneyState.java
More file actions
40 lines (31 loc) · 875 Bytes
/
HasMoneyState.java
File metadata and controls
40 lines (31 loc) · 875 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import java.util.Random;
public class HasMoneyState implements State {
GumballMachine gumballMachine;
public HasMoneyState(GumballMachine gumballMachine) {
this.gumballMachine = gumballMachine;
}
public void insertMoney() {
System.out.println("Money received. Current total money is " + gumballMachine.totalMoney);
}
public void ejectMoney() {
System.out.println("Money returned");
gumballMachine.setState(gumballMachine.getNoMoneyState());
}
public void turnCrank() {
System.out.println("You turned...");
if(gumballMachine.totalMoney<0.50)
{
System.out.println("Money Insufficient");
}
else
{
gumballMachine.setState(gumballMachine.getSoldState());
}
}
public void dispense() {
System.out.println("No gumball dispensed");
}
public String toString() {
return "waiting for turn of crank";
}
}