package gist; import java.io.Serializable; import java.util.Arrays; import java.util.List; import java.util.Random; import java.util.function.Supplier; import java.util.stream.Collectors; import java.util.stream.Stream; public class BonJobi { private static final List INPUT = Arrays.asList("ジョ", "ン", "ボ", "ヴィ"); private static final Random RANDOM = new Random(); public static void main(String[] args) throws Exception { MySupplier supplier = () -> RANDOM.ints(0, INPUT.size()) .limit(2) .mapToObj(INPUT::get) .collect(Collectors.joining()); String result = Stream.iterate(supplier.get(), (s) -> s + '・' + supplier.get()) .filter(s -> s.endsWith("ジョン・ボン・ジョヴィ")) .findFirst() .get(); System.out.println(result); System.out.println(result.split("・").length + " Bon Jovis"); System.out.println("\n" + "_人人人人人人人人人人人人人人_\n" + "> You Give Love a Bad Name <\n" + " ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄"); } interface MySupplier extends Supplier, Serializable { } }