From 4a3973b904a2ed3e62123bcbb4d44ef6c197fb32 Mon Sep 17 00:00:00 2001 From: ramgsuri Date: Sat, 3 Oct 2020 17:34:06 +0530 Subject: [PATCH 1/2] [Ram] FizzBuzz Using Lambda functions --- Java/FizzBuzz_ramgsuri.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 Java/FizzBuzz_ramgsuri.java diff --git a/Java/FizzBuzz_ramgsuri.java b/Java/FizzBuzz_ramgsuri.java new file mode 100644 index 0000000..1f1ebec --- /dev/null +++ b/Java/FizzBuzz_ramgsuri.java @@ -0,0 +1,14 @@ +import java.util.stream.IntStream; + +public class FizzBuzz_ramgsuri { + + public static void main(String args[]){ + + IntStream.rangeClosed(0, 100).mapToObj( + i -> i % 3 == 0 ? + (i % 5 == 0 ? "FizzBuzz" : "Fizz") : + (i % 5 == 0 ? "Buzz" : i)) + .forEach(System.out::println); + } + +} From c50924828a34df72dd4e3921f6ee16ed7e0c691d Mon Sep 17 00:00:00 2001 From: ramgsuri Date: Sun, 4 Oct 2020 23:46:36 +0530 Subject: [PATCH 2/2] [Ram] Fixes Fizz Buzz and adds a new functional interface --- Java/FizzBuzz_ramgsuri.java | 11 +++++++---- Java/FizzBuzzv2.java | 8 ++++---- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/Java/FizzBuzz_ramgsuri.java b/Java/FizzBuzz_ramgsuri.java index 1f1ebec..91143cb 100644 --- a/Java/FizzBuzz_ramgsuri.java +++ b/Java/FizzBuzz_ramgsuri.java @@ -4,11 +4,14 @@ public class FizzBuzz_ramgsuri { public static void main(String args[]){ - IntStream.rangeClosed(0, 100).mapToObj( - i -> i % 3 == 0 ? - (i % 5 == 0 ? "FizzBuzz" : "Fizz") : - (i % 5 == 0 ? "Buzz" : i)) + IntStream.rangeClosed(1, 100) + .mapToObj(ifNumberMod(15, "FizzBuzz", + ifNumberMod(5, "Buzz", + ifNumberMod(3, "Fizz", Integer::toString)))) .forEach(System.out::println); } + static IntFunction ifNumberMod(int m, R r, IntFunction f) { + return (int i) -> (i % m == 0) ? r : f.apply(i); + } } diff --git a/Java/FizzBuzzv2.java b/Java/FizzBuzzv2.java index 50d5703..23ca005 100644 --- a/Java/FizzBuzzv2.java +++ b/Java/FizzBuzzv2.java @@ -12,11 +12,11 @@ private static void fizzBuzzBeforeJava8(int num) { for (int i = 1; i <= num; i++) { - if (((i % 5) == 0) && ((i % 7) == 0)) // Is it a multiple of 5 & 7? + if (((i % 5) == 0) && ((i % 3) == 0)) // Is it a multiple of 5 & 7? System.out.println("fizzbuzz"); - else if ((i % 5) == 0) // Is it a multiple of 5? + else if ((i % 3) == 0) // Is it a multiple of 5? System.out.println("fizz"); - else if ((i % 7) == 0) // Is it a multiple of 7? + else if ((i % 5) == 0) // Is it a multiple of 7? System.out.println("buzz"); else System.out.println(i); // Not a multiple of 5 or 7 @@ -25,7 +25,7 @@ else if ((i % 7) == 0) // Is it a multiple of 7? private static void fizzBuzzInJava8(int num) { IntStream.rangeClosed(1, 100) - .mapToObj(i -> i % 5 == 0 ? (i % 7 == 0 ? "FizzBuzz" : "Fizz") : (i % 7 == 0 ? "Buzz" : i)) + .mapToObj(i -> i % 3 == 0 ? (i % 5 == 0 ? "FizzBuzz" : "Fizz") : (i % 5 == 0 ? "Buzz" : i)) .forEach(System.out::println); } } \ No newline at end of file