在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.

追加信息
实际上,我本想用switch语句来处理PPAP_STATE.getState()的操作…
switch(int a, int b) {
case (0, 0):
// do
case (1, 1):
// do
default:
// do
}
我不懂得如何用Java编写这种形式,所以放弃了…
GitHub代码片段
请提供更多上下文信息或待转述的内容。
使用Swift3实现PPAP的功能