Java的震動節奏

嗯,能不能在Stream内独自完成呢?

import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.Random;

public class Zundoko {

    public static void main(String... args) {
        final String zun = "ズン";
        final String doko = "ドコ";
        List<String> input = Arrays.asList(zun, doko);
        LinkedList<String> queue = new LinkedList<>();
        LinkedList<String> rightCondition =
            new LinkedList<>(Arrays.asList(zun, zun, zun, zun, doko));
        boolean isKiyoshi =
            new Random()
                .ints(0, 2)
                .mapToObj(i -> input.get(i))
                .peek(System.out::println)
                .anyMatch(s -> {
                    queue.addLast(s);
                    if (queue.size() == 5) {
                        if (queue.equals(rightCondition)) {
                            return true;
                        }
                        queue.poll();
                    }
                    return false;
                });
        if (isKiyoshi) {
            System.out.println("キ・ヨ・シ!");
        }
    }
}
广告
将在 10 秒后关闭
bannerAds