Create or implement FizzBuzz game program in java (with example)

What is Fizz buzz game?

  • FizzBuzz game is very famous interview question.
  • Fizz buzz is a group word game used to teach division.
  • Players generally sit in a circle. The player designated to go first says the number “1”, and each player thenceforth counts one number in turn.
  • However, any number divisible by 3 is replaced by the word fizz and any divisible by 5 by the word buzz. Numbers divisible by 15 become fizzbuzz. A player who hesitates or makes a mistake is eliminated from the game.
  • Print special string if any number is divisible for 3, 5 & 15.
    • If number is divisible by 3 ( number % 3 == 0 ), then we will print “Fizz”.
    • If number is divisible by 5 ( number % 5 == 0), then we will print “Buzz”.
    • If number is divisible by 5 & 3 i.e. 15 ( number % 15 == 0 ), then we will print “FizzBuzz”.
FizzBuzz game question
Fig 1: Fizz, Buzz or FizzBuzz game

Approach 1: Using Java Stream

Implement FizzBuzz game using Java Stream

import java.util.function.IntPredicate;
import java.util.stream.Collectors;
import java.util.stream.IntStream;

public class FizzBuzz {
    public static void main(String[] args) {
        final int LIMIT = 15;

        IntPredicate isDivisibleBy3 = i -> i % 3 == 0;
        IntPredicate isDivisibleBy5 = i -> i % 5 == 0;

        String result = IntStream.rangeClosed(1, LIMIT)
                .mapToObj(i -> {
                    String output = "";
                    if (isDivisibleBy3.test(i)) output += "Fizz";
                    if (isDivisibleBy5.test(i)) output += "Buzz";
                    return output.isEmpty() ? String.valueOf(i) : output;
                })
                .collect(Collectors.joining("\n"));

        System.out.println(result);
    }
}

Output: Program to print FizzBuzz game sequence.

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz

Approach 2: Implement FizzBuzz – Traditional Loop

Program: Create FizzBuzz game in java (example)

package org.learn.fizzbuzz;

import java.util.Scanner;

public class DemoFizzBuzz {

 private static final String FIZZ = "Fizz";
 private static final String BUZZ = "Buzz";
 private static final String FIZZ_BUZZ = "FizzBuzz";

 public static void main(String[] args) {

  try (Scanner scanner = new Scanner(System.in)) {

   System.out.println("Enter input number : ");
   int inputNumber = scanner.nextInt();
   for (int number = 1; number <= inputNumber; number++) {

    // If number is divisible by 15 ( 5 * 3)
    if (number % 15 == 0) {
     System.out.printf("%s ", FIZZ_BUZZ);
    } else if (number % 3 == 0) { // If number is divisible by 3
     System.out.printf("%s ", FIZZ);
    } else if (number % 5 == 0) { // If number is divisible by 5
     System.out.printf("%s ", BUZZ);
    } else {
     System.out.printf("%d ", number);
    }
   }
  }
 }
}

Output: implement FizzBuzz game program in java:

Enter input number : 10
1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 

Enter input number : 18
1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 
Scroll to Top