hasquarterstate.java

来自「深入浅出设计模式」· Java 代码 · 共 40 行

JAVA
40
字号
package headfirst.state.gumballstatewinner;import java.util.Random;public class HasQuarterState implements State {	Random randomWinner = new Random(System.currentTimeMillis());	GumballMachine gumballMachine; 	public HasQuarterState(GumballMachine gumballMachine) {		this.gumballMachine = gumballMachine;	}  	public void insertQuarter() {		System.out.println("You can't insert another quarter");	} 	public void ejectQuarter() {		System.out.println("Quarter returned");		gumballMachine.setState(gumballMachine.getNoQuarterState());	} 	public void turnCrank() {		System.out.println("You turned...");		int winner = randomWinner.nextInt(10);		if ((winner == 0) && (gumballMachine.getCount() > 1)) {			gumballMachine.setState(gumballMachine.getWinnerState());		} else {			gumballMachine.setState(gumballMachine.getSoldState());		}	}    public void dispense() {        System.out.println("No gumball dispensed");    } 	public String toString() {		return "waiting for turn of crank";	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?