main.java

来自「《Java与模式》一书的源代码」· Java 代码 · 共 49 行

JAVA
49
字号
package com.javapatterns.state.switchStatements;

public class Main
{

    static final int STATE_LOCKED = 1;
    static final int STATE_UNLOCKED = 2;

    static final int EVENT_SPELL = 4;
    static final int EVENT_PASS = 8;

    public void transition(int event)
    {
        int state = STATE_LOCKED;

        switch (state)
        {
            case(STATE_LOCKED):
                switch (event)
                {
                    case(EVENT_SPELL):
                        state = STATE_UNLOCKED;
                        break;
                    case(EVENT_PASS):
                        bang();
                        break;
                }
                break;
            case STATE_UNLOCKED:
                switch (event)
                {
                    case(EVENT_SPELL):
                        state = STATE_UNLOCKED;
                        break;
                    case(EVENT_PASS):
                        state = STATE_LOCKED;
                        break;
                }
                break;
        }
    }

    public void bang()
    {
        System.out.println("You are damned.");
    }

}

⌨️ 快捷键说明

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