在Java中,PPAP

因为刚好在电视广告中播放了PPAP歌曲。

定义一个enum

enum PPAP_STATE {
    UNKNOWN,
    PEN,
    PINEAPPLE,
    APPLE,
    PPAP;

    static PPAP_STATE getState(PPAP_STATE state, int talking) {
        if (state == UNKNOWN && talking == 0) {
            return PEN;
        } else if (state == PEN && talking == 1) {
            return PINEAPPLE;
        } else if (state == PINEAPPLE && talking == 2) {
            return APPLE;
        } else if (state == APPLE && talking == 0) {
            return PPAP;
        } else {
            return UNKNOWN;
        }
    }
}

处理部分

有了enum的帮助,主要处理变得清晰简洁!

PPAP_STATE state = PPAP_STATE.UNKNOWN;
Random random = new Random();

while (true) {
    int talking = random.nextInt(3);
    Log.i("talk: ", new String[]{"ペン", "パイナップル", "アップル"}[talking]);

    state = PPAP_STATE.getState(state, talking);
    if (state == PPAP_STATE.PPAP) {
        Log.i("finish: ", "Pen Pineapple Apple Pen!");
        break;
    }
}

Outcome.

Screenshot_1479921556.png

追加信息

实际上,我本想用switch语句来处理PPAP_STATE.getState()的操作…

switch(int a, int b) {
    case (0, 0):
        // do
    case (1, 1):
        // do
    default:
        // do
}

我不懂得如何用Java编写这种形式,所以放弃了…

GitHub代码片段

请提供更多上下文信息或待转述的内容。

使用Swift3实现PPAP的功能

广告
将在 10 秒后关闭
bannerAds