winnerstate.java

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

JAVA
46
字号
package headfirst.proxy.gumballmonitor;public class WinnerState implements State {    GumballMachine gumballMachine;     public WinnerState(GumballMachine gumballMachine) {        this.gumballMachine = gumballMachine;    } 	public void insertQuarter() {		System.out.println("Please wait, we're already giving you a Gumball");	} 	public void ejectQuarter() {		System.out.println("Please wait, we're already giving you a Gumball");	} 	public void turnCrank() {		System.out.println("Turning again doesn't get you another gumball!");	} 	public void dispense() {		System.out.println("YOU'RE A WINNER! You get two gumballs for your quarter");		try {			gumballMachine.releaseBall();			if (gumballMachine.getCount() == 0) {				gumballMachine.setState(gumballMachine.getSoldOutState());			} else {				gumballMachine.releaseBall();				if (gumballMachine.getCount() > 0) {					gumballMachine.setState(gumballMachine.getNoQuarterState());				} else {           		 	System.out.println("Oops, out of gumballs!");					gumballMachine.setState(gumballMachine.getSoldOutState());				}			}		} catch (Exception e) {			e.printStackTrace();		}	} 	public String toString() {		return "despensing two gumballs for your quarter, because YOU'RE A WINNER!";	}}

⌨️ 快捷键说明

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