【Java】使用StreamAPI进行”ズンドコキヨシ”操作

首先

最近在这篇文章中重新发现了一度流行的“一二一二三”的曲谱,所以我决定用Java编写这个曲谱。顺便说一下,我还将for循环束之高阁,重新复习了一下StreamAPI。

编写的代码

    • 「ズン」もしくは「ドコ」のいずれかを格納した長さ5のListを作ります。

Stream.generate()を使う場合、Streamが無限に続かないようにlimitを付ける必要があります。

Listを半角スペースでJoinした結果が「ズン ズン ズン ズン ドコ」になるまで、do~whileのループを繰り返します。

必ず1回はループに入るので、最初に終了条件を判定するwhileではなく、最後に終了条件を判定するdo~whileを使いました。

最後に「キヨシ!!」を付け足して標準出力します。

package zundoko;

import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class ZundokoStream {

    public static void main(String[] args) {

        Random rnd = new Random();
        String[] zunDoko = { "ズン", "ドコ" };
        String songLyrics = "";

        do {
            List<String> phrases =
                    Stream.generate(() -> zunDoko[rnd.nextInt(2)])
                    .limit(5)
                    .collect(Collectors.toList());

            songLyrics = String.join(" ", phrases);
        } while (!songLyrics.equals("ズン ズン ズン ズン ドコ"));

        System.out.print(songLyrics);
        System.out.println(" キヨシ!!");
    }
}
ズン ズン ズン ズン ドコ キヨシ!!

请提供参考链接。

    • インタフェースStream

 

    • Java Stream – Streamインスタンスの生成

 

    ずんどこプログラム
bannerAds