最后活跃于 1726664443

From https://rohan.ga

修订 f655bff493def98222b3e0de28532b46fbfca478

fizbuzz.java 原始文件
1import java.util.*;
2import java.util.function.Predicate;
3import java.util.stream.Collectors;
4import java.util.stream.IntStream;
5
6// wowey, wow, wow.
7
8public class Main {
9 public static void main(String[] args) {
10 int[] arr = IntStream.rangeClosed(1, 100).toArray();
11
12 Map<Predicate<Integer>, String> preds = new LinkedHashMap<>();
13 preds.put(x -> x % 3 == 0, "Fizz");
14 preds.put(x -> x % 5 == 0, "Buzz");
15
16 System.out.println(fizzBuzz(arr, preds));
17 }
18
19 private static String fizzBuzz(int[] arr, Map<Predicate<Integer>, String> preds) {
20 return Arrays.stream(arr)
21 .mapToObj(x -> preds.entrySet().stream()
22 .filter(entry -> entry.getKey().test(x))
23 .map(Map.Entry::getValue)
24 .reduce(String::concat)
25 .orElse(String.valueOf(x)))
26 .collect(Collectors.joining(" "));
27 }
28}
29
30