Pages

Saturday, November 13, 2021

Java FizzBuzz - FizzBuzz Solution In Java 8 with examples

1. Overview

In this tutorial, We'll learn how to write a java program to fizzbuzz solution in java language.

This is a fun game mostly played in elementary schools with your friends in schools.

FizzBuzz game rules:

This is a multiplayer game. When your turn comes then you have to say one number. If the number is multiple of 5 then you have to say "Fizz" in the french ascent. If the number is multiple of 7 then say "Buzz". If the number is multiple of 5 and 7 then say "FizzBuzz". If you can not say the right word for your number then you are out of the game. So must have to say the correct fizz buzzword to continue the game otherwise game will be continued without you. Whoever is alone in the game that person is the winner.

Let us implement the Fizz Buzz game in java language with the simple if-else conditions.

2. Java FizzBuzz Solution Using If else

The below logic is implemented using simple while loop and if-else conditions.


package com.javaprogramto.programs.fizzbuzz;

/**
 * Java program to implement fizz buzz solution
 * @author javaprogramto.com
 *
 */
public class FizzBuzzExample {

	public static void main(String[] args) {
		
		// limit the fizz buzz game
		int limit = 100;
		
		// staring number
		int currentNumber = 1;
		
		// running the while loop till it reaches the max limit
		while (currentNumber <= limit) {
			
			// checking for fizzbuzz
			if (currentNumber % 5 == 0 && currentNumber % 7 == 0) {
				System.out.println("FizzBuzz");

				// checking for fizz
			} else if (currentNumber % 5 == 0) {
				System.out.println("Fizz");
				
				// checking for buzz
			} else if (currentNumber % 7 == 0 ) {
				System.out.println("Buzz");
			}  else {
				System.out.println(currentNumber);
			}
			
			// incrementing the number by 1
			currentNumber++;
		}
	}
}
 

Output:

1
2
3
4
Fizz
6
Buzz
8
9
Fizz
11
12
13
Buzz
Fizz
16
17
18
19
Fizz
Buzz
22
23
24
Fizz
26
27
Buzz
29
Fizz
31
32
33
34
FizzBuzz
36
37
38
39
Fizz
41
Buzz
43
44
Fizz
46
47
48
Buzz
Fizz
51
52
53
54
Fizz
Buzz
57
58
59
Fizz
61
62
Buzz
64
Fizz
66
67
68
69
FizzBuzz
71
72
73
74
Fizz
76
Buzz
78
79
Fizz
81
82
83
Buzz
Fizz
86
87
88
89
Fizz
Buzz
92
93
94
Fizz
96
97
Buzz
99
Fizz

 

3. FizzBuzz Solution in Java 8

We can implement the solution for FizzBuzz using java 8 stream API as below.

In the below example, we have used the ternary operator for condition evaluation.

IntStream.range() is to generate the numbers from 1 to 100

mapToObj(): uses the ternary operator and gets the right word.

forEach(): To iterate over the stream and print the values to console.

public class FizzBuzzExampleJava8 {

	public static void main(String[] args) {

		// limit the fizz buzz game
		int limit = 100;

		// staring number
		int currentNumber = 1;

		// IntStream to generate the numbers range from 1 to 100 and mapToObj() to get the right fizz buzz word.
		IntStream.rangeClosed(currentNumber, limit)
				.mapToObj(i -> i % 5 == 0 ? (i % 7 == 0 ? "FizzBuzz" : "Fizz") : (i % 7 == 0 ? "Buzz" : i))
				.forEach(System.out::println);
	}
}
 

This program also produces the same output as in the above section.

4. Conclusion

In this article, we have seen how to implement the solution to the FizzBuzz problem using java before and after java 8 concepts.

GitHub

Ref

IntStream

java 8 forEach

No comments:

Post a Comment

Please do not add any spam links in the comments section.